summaryrefslogtreecommitdiff
path: root/lib/_http_common.js
diff options
context:
space:
mode:
authorPeter Marton <peter@risingstack.com>2017-10-19 20:16:02 +0200
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-06 15:40:24 +0100
commita899576c977aef32d85074ac09d511e4590e28d7 (patch)
treeb065bf00d067a3816db31ce0ec88287be6d75afb /lib/_http_common.js
parent82a73470506111ecc6361b9e0b0bb01f6377a531 (diff)
downloadandroid-node-v8-a899576c977aef32d85074ac09d511e4590e28d7.tar.gz
android-node-v8-a899576c977aef32d85074ac09d511e4590e28d7.tar.bz2
android-node-v8-a899576c977aef32d85074ac09d511e4590e28d7.zip
http: add options to http.createServer()
This adds the optional options argument to `http.createServer()`. It contains two options: the `IncomingMessage` and `ServerReponse` option. PR-URL: https://github.com/nodejs/node/pull/15752 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
Diffstat (limited to 'lib/_http_common.js')
-rw-r--r--lib/_http_common.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/_http_common.js b/lib/_http_common.js
index b4caf5939e..a7e8b0c59b 100644
--- a/lib/_http_common.js
+++ b/lib/_http_common.js
@@ -34,6 +34,7 @@ const {
const debug = require('util').debuglog('http');
+const kIncomingMessage = Symbol('IncomingMessage');
const kOnHeaders = HTTPParser.kOnHeaders | 0;
const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
const kOnBody = HTTPParser.kOnBody | 0;
@@ -73,7 +74,11 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
parser._url = '';
}
- parser.incoming = new IncomingMessage(parser.socket);
+ // Parser is also used by http client
+ var ParserIncomingMessage = parser.socket && parser.socket.server ?
+ parser.socket.server[kIncomingMessage] : IncomingMessage;
+
+ parser.incoming = new ParserIncomingMessage(parser.socket);
parser.incoming.httpVersionMajor = versionMajor;
parser.incoming.httpVersionMinor = versionMinor;
parser.incoming.httpVersion = `${versionMajor}.${versionMinor}`;
@@ -300,5 +305,6 @@ module.exports = {
freeParser,
httpSocketSetup,
methods,
- parsers
+ parsers,
+ kIncomingMessage
};