diff --git a/lib/needle.js b/lib/needle.js index e153b92eb..7b64b7782 100644 --- a/lib/needle.js +++ b/lib/needle.js @@ -572,6 +572,10 @@ Needle.prototype.send_request = function(count, method, uri, config, post_data, if (auth_header) { config.headers['authorization'] = auth_header; + // Destroy the old request to prevent the unauthenticated digest request from causing the needle promise to catch/reject + // This is especially an issue with application/octet-stream request bodies where the server can cause the connection to reset + request.destroy(); + return self.send_request(count, method, uri, config, post_data, out, callback); } }