diff options
Diffstat (limited to 'lib/_http_common.js')
-rw-r--r-- | lib/_http_common.js | 13 |
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, }; |