summaryrefslogtreecommitdiff
path: root/lib/_http_common.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_http_common.js')
-rw-r--r--lib/_http_common.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/_http_common.js b/lib/_http_common.js
index dc6eba6333..f1386e1a09 100644
--- a/lib/_http_common.js
+++ b/lib/_http_common.js
@@ -28,6 +28,8 @@ const {
const { setImmediate } = require('timers');
const { methods, HTTPParser } = internalBinding('http_parser');
+const { getOptionValue } = require('internal/options');
+const insecureHTTPParser = getOptionValue('--insecure-http-parser');
const FreeList = require('internal/freelist');
const incoming = require('_http_incoming');
@@ -237,6 +239,16 @@ function prepareError(err, parser, rawPacket) {
err.message = `Parse Error: ${err.reason}`;
}
+let warnedLenient = false;
+
+function isLenient() {
+ if (insecureHTTPParser && !warnedLenient) {
+ warnedLenient = true;
+ process.emitWarning('Using insecure HTTP parsing');
+ }
+ return insecureHTTPParser;
+}
+
module.exports = {
_checkInvalidHeaderChar: checkInvalidHeaderChar,
_checkIsHttpToken: checkIsHttpToken,
@@ -249,5 +261,6 @@ module.exports = {
parsers,
kIncomingMessage,
HTTPParser,
+ isLenient,
prepareError,
};