summaryrefslogtreecommitdiff
path: root/lib/_http_client.js
diff options
context:
space:
mode:
authorLuigi Pinca <luigipinca@gmail.com>2018-01-17 15:44:49 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-01-21 02:42:19 +0100
commit93f1d9e10bbc922d6c8862e30efaee8975712633 (patch)
tree9d6a61c52a6bf647fcc77b8598d0541ae9e91c98 /lib/_http_client.js
parent08ada72cc692163979f574ee00de81cbfd730994 (diff)
downloadandroid-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.tar.gz
android-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.tar.bz2
android-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.zip
http: free the parser before emitting 'upgrade'
Ensure that the parser is freed before emitting the 'connect' or 'upgrade' event. PR-URL: https://github.com/nodejs/node/pull/18209 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'lib/_http_client.js')
-rw-r--r--lib/_http_client.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/_http_client.js b/lib/_http_client.js
index b49aa711c4..74bec38b6e 100644
--- a/lib/_http_client.js
+++ b/lib/_http_client.js
@@ -420,6 +420,7 @@ function socketOnData(d) {
socket.removeListener('data', socketOnData);
socket.removeListener('end', socketOnEnd);
parser.finish();
+ freeParser(parser, req, socket);
var bodyHead = d.slice(bytesParsed, d.length);
@@ -440,7 +441,6 @@ function socketOnData(d) {
// Got Upgrade header or CONNECT method, but have no handler.
socket.destroy();
}
- freeParser(parser, req, socket);
} else if (parser.incoming && parser.incoming.complete &&
// When the status code is 100 (Continue), the server will
// send a final response after this client sends a request