From f1fb3de38fc96287763aeb7c5fee23858c851955 Mon Sep 17 00:00:00 2001 From: Raymond Rutjes Date: Mon, 10 Jul 2017 09:50:43 +0200 Subject: [PATCH] refactor(http): use ClientRequest "aborted" value (#966) --- lib/adapters/http.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/adapters/http.js b/lib/adapters/http.js index cc4e872..e48c411 100644 --- a/lib/adapters/http.js +++ b/lib/adapters/http.js @@ -19,7 +19,6 @@ module.exports = function httpAdapter(config) { var data = config.data; var headers = config.headers; var timer; - var aborted = false; // Set User-Agent (required by some servers) // Only set header if it hasn't been set in config @@ -129,7 +128,7 @@ module.exports = function httpAdapter(config) { // Create the request var req = transport.request(options, function handleResponse(res) { - if (aborted) return; + if (req.aborted) return; // Response has been received so kill timer that handles request timeout clearTimeout(timer); @@ -177,7 +176,7 @@ module.exports = function httpAdapter(config) { }); stream.on('error', function handleStreamError(err) { - if (aborted) return; + if (req.aborted) return; reject(enhanceError(err, config, null, lastRequest)); }); @@ -195,7 +194,7 @@ module.exports = function httpAdapter(config) { // Handle errors req.on('error', function handleRequestError(err) { - if (aborted) return; + if (req.aborted) return; reject(enhanceError(err, config, null, req)); }); @@ -204,20 +203,16 @@ module.exports = function httpAdapter(config) { timer = setTimeout(function handleRequestTimeout() { req.abort(); reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req)); - aborted = true; }, config.timeout); } if (config.cancelToken) { // Handle cancellation config.cancelToken.promise.then(function onCanceled(cancel) { - if (aborted) { - return; - } + if (req.aborted) return; req.abort(); reject(cancel); - aborted = true; }); }