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>
This commit is contained in:
parent
4f2000f9fe
commit
95fafc0254
@ -62,7 +62,8 @@ function parserOnHeaders(headers, url) {
|
|||||||
function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
|
function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
|
||||||
url, statusCode, statusMessage, upgrade,
|
url, statusCode, statusMessage, upgrade,
|
||||||
shouldKeepAlive) {
|
shouldKeepAlive) {
|
||||||
var parser = this;
|
const parser = this;
|
||||||
|
const { socket } = parser;
|
||||||
|
|
||||||
if (!headers) {
|
if (!headers) {
|
||||||
headers = parser._headers;
|
headers = parser._headers;
|
||||||
@ -75,10 +76,11 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parser is also used by http client
|
// Parser is also used by http client
|
||||||
var ParserIncomingMessage = parser.socket && parser.socket.server ?
|
const ParserIncomingMessage = (socket && socket.server &&
|
||||||
parser.socket.server[kIncomingMessage] : IncomingMessage;
|
socket.server[kIncomingMessage]) ||
|
||||||
|
IncomingMessage;
|
||||||
|
|
||||||
parser.incoming = new ParserIncomingMessage(parser.socket);
|
parser.incoming = new ParserIncomingMessage(socket);
|
||||||
parser.incoming.httpVersionMajor = versionMajor;
|
parser.incoming.httpVersionMajor = versionMajor;
|
||||||
parser.incoming.httpVersionMinor = versionMinor;
|
parser.incoming.httpVersionMinor = versionMinor;
|
||||||
parser.incoming.httpVersion = `${versionMajor}.${versionMinor}`;
|
parser.incoming.httpVersion = `${versionMajor}.${versionMinor}`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user