Skip to content

Commit e3bddee

Browse files
apapirovskiMylesBorins
authored andcommitted
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. Backport-PR-URL: #22880 PR-URL: #20029 Fixes: #19231 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Khaidi Chu <[email protected]>
1 parent ce65d84 commit e3bddee

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/_http_common.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ function parserOnHeaders(headers, url) {
6262
function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
6363
url, statusCode, statusMessage, upgrade,
6464
shouldKeepAlive) {
65-
var parser = this;
65+
const parser = this;
66+
const { socket } = parser;
6667

6768
if (!headers) {
6869
headers = parser._headers;
@@ -75,10 +76,11 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
7576
}
7677

7778
// Parser is also used by http client
78-
var ParserIncomingMessage = parser.socket && parser.socket.server ?
79-
parser.socket.server[kIncomingMessage] : IncomingMessage;
79+
const ParserIncomingMessage = (socket && socket.server &&
80+
socket.server[kIncomingMessage]) ||
81+
IncomingMessage;
8082

81-
parser.incoming = new ParserIncomingMessage(parser.socket);
83+
parser.incoming = new ParserIncomingMessage(socket);
8284
parser.incoming.httpVersionMajor = versionMajor;
8385
parser.incoming.httpVersionMinor = versionMinor;
8486
parser.incoming.httpVersion = `${versionMajor}.${versionMinor}`;

0 commit comments

Comments
 (0)