diff --git a/lib/adapters/http.js b/lib/adapters/http.js index 0cca3bdfbb..6ac7256abe 100755 --- a/lib/adapters/http.js +++ b/lib/adapters/http.js @@ -47,7 +47,9 @@ module.exports = function httpAdapter(config) { var resolve = function resolve(value) { resolvePromise(value); }; + var rejected = false; var reject = function reject(value) { + rejected = true; rejectPromise(value); }; var data = config.data; @@ -251,6 +253,14 @@ module.exports = function httpAdapter(config) { } }); + stream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } + stream.destroy(); + reject(createError('error request aborted', config, 'ERR_REQUEST_ABORTED', lastRequest)); + }); + stream.on('error', function handleStreamError(err) { if (req.aborted) return; reject(enhanceError(err, config, null, lastRequest));