Skip to content

Commit

Permalink
http: prevent aborted event when request is complete
Browse files Browse the repository at this point in the history
When socket is closed on a response for a request that is being piped to a stream
there is a condition where aborted event will be fired to http client when socket is
closing and the incomingMessage stream is still set to readable.

We need a check for request being complete and to only raise the 'aborted' event
on the http client if we have not yet completed reading the response from the server.

Fixes: nodejs#18756
  • Loading branch information
billywhizz committed Feb 17, 2018
1 parent 5156342 commit 78a7cbe
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion lib/_http_client.js
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ function socketCloseListener() {
var parser = socket.parser;
if (req.res && req.res.readable) {
// Socket closed before we emitted 'end' below.
req.res.emit('aborted');
if (!req.res.complete) req.res.emit('aborted');
var res = req.res;
res.on('end', function() {
res.emit('close');
Expand Down

0 comments on commit 78a7cbe

Please sign in to comment.