summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnatoli Papirovski <apapirovski@mac.com>2018-04-14 14:01:13 +0200
committerAnatoli Papirovski <apapirovski@mac.com>2018-04-17 16:08:31 +0200
commit95fafc0254f6636b7c7546ac63599c79a7182fd9 (patch)
treeb0956c354beccaabef4a871e1d1011c3ef6e3574 /lib
parent4f2000f9fecbd7102403cc24b962f4e40994243a (diff)
downloadandroid-node-v8-95fafc0254f6636b7c7546ac63599c79a7182fd9.tar.gz
android-node-v8-95fafc0254f6636b7c7546ac63599c79a7182fd9.tar.bz2
android-node-v8-95fafc0254f6636b7c7546ac63599c79a7182fd9.zip
http: fix undefined error in parser event
The current check for socket.server[kIncomingMessage] does not account for the possibility of a socket.server that doesn't have that property defined. Fix it. PR-URL: https://github.com/nodejs/node/pull/20029 Fixes: https://github.com/nodejs/node/issues/19231 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Khaidi Chu <i@2333.moe>
Diffstat (limited to 'lib')
-rw-r--r--lib/_http_common.js10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/_http_common.js b/lib/_http_common.js
index bc65443eb3..7f53aca246 100644
--- a/lib/_http_common.js
+++ b/lib/_http_common.js
@@ -62,7 +62,8 @@ function parserOnHeaders(headers, url) {
function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
url, statusCode, statusMessage, upgrade,
shouldKeepAlive) {
- var parser = this;
+ const parser = this;
+ const { socket } = parser;
if (!headers) {
headers = parser._headers;
@@ -75,10 +76,11 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
}
// Parser is also used by http client
- var ParserIncomingMessage = parser.socket && parser.socket.server ?
- parser.socket.server[kIncomingMessage] : IncomingMessage;
+ const ParserIncomingMessage = (socket && socket.server &&
+ socket.server[kIncomingMessage]) ||
+ IncomingMessage;
- parser.incoming = new ParserIncomingMessage(parser.socket);
+ parser.incoming = new ParserIncomingMessage(socket);
parser.incoming.httpVersionMajor = versionMajor;
parser.incoming.httpVersionMinor = versionMinor;
parser.incoming.httpVersion = `${versionMajor}.${versionMinor}`;