From 6218c612d005d0cbab3cf133ccd20b9a21a2aa4d Mon Sep 17 00:00:00 2001 From: mike Date: Thu, 22 Dec 2016 21:21:25 +0800 Subject: [PATCH] fix bug of socket CLOSE_WAIT --- lib/tunnel.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tunnel.js b/lib/tunnel.js index c42b039..c8ee83a 100644 --- a/lib/tunnel.js +++ b/lib/tunnel.js @@ -138,11 +138,11 @@ TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { function onConnect(res, socket, head) { connectReq.removeAllListeners(); socket.removeAllListeners(); + self.sockets[self.sockets.indexOf(placeholder)] = socket if (res.statusCode === 200) { assert.equal(head.length, 0); debug('tunneling connection has established'); - self.sockets[self.sockets.indexOf(placeholder)] = socket; cb(socket); } else { debug('tunneling socket could not be established, statusCode=%d', @@ -150,8 +150,8 @@ TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode); error.code = 'ECONNRESET'; + cb(socket) options.request.emit('error', error); - self.removeSocket(placeholder); } }