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`.
//
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`).
@ -719,8 +724,13 @@ HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, head, buffer)
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
socket.on('error', proxyError);
//socket.on('error', proxyError);
//
// 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.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`).