fixed issue #364 'proxyError' event emitted twice

This commit is contained in:
Giannis Dzegoutanis 2013-02-10 23:07:40 +01:00
parent 26d3646ff2
commit 43e5f33320

View File

@ -312,9 +312,14 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
// Handle 'error' events from the `reverseProxy`. // Handle 'error' events from the `reverseProxy`.
// //
reverseProxy.once('error', proxyError); reverseProxy.once('error', proxyError);
reverseProxy.once('socket', function (socket) { //
socket.once('error', proxyError); // NOT needed as node.js re-emits the socket errors as ClientRequest 'error'
}); // Look for socketErrorListener references in
// https://github.com/joyent/node/blob/master/lib/http.js
//
// reverseProxy.once('socket', function (socket) {
// socket.once('error', proxyError);
// });
// //
// Handle 'error' events from the `req` (e.g. `Parse Error`). // Handle 'error' events from the `req` (e.g. `Parse Error`).
@ -719,8 +724,13 @@ HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, head, buffer)
return proxyError(ex); return proxyError(ex);
} }
//
// NOT needed as node.js re-emits the socket errors as ClientRequest 'error'
// Look for socketErrorListener references in
// https://github.com/joyent/node/blob/master/lib/http.js
//
// Catch socket errors // Catch socket errors
socket.on('error', proxyError); //socket.on('error', proxyError);
// //
// Remove data listener now that the 'handshake' is complete // Remove data listener now that the 'handshake' is complete
@ -729,10 +739,18 @@ HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, head, buffer)
}); });
}); });
//
// Handle 'error' events from the `reverseProxy`.
//
reverseProxy.on('error', proxyError); reverseProxy.on('error', proxyError);
reverseProxy.once('socket', function (socket) { //
socket.once('error', proxyError); // NOT needed as node.js re-emits the socket errors as ClientRequest 'error'
}); // Look for socketErrorListener references in
// https://github.com/joyent/node/blob/master/lib/http.js
//
// reverseProxy.once('socket', function (socket) {
// socket.once('error', proxyError);
// });
// //
// Handle 'error' events from the `req` (e.g. `Parse Error`). // Handle 'error' events from the `req` (e.g. `Parse Error`).