@@ -159,7 +159,9 @@ HttpProxy.prototype = {
159
159
if ( req . method !== 'HEAD' ) {
160
160
res . write ( 'An error has occurred: ' + sys . puts ( JSON . stringify ( err ) ) ) ;
161
161
}
162
-
162
+
163
+ // Response end may never come so removeListener here
164
+ reverse_proxy . removeListener ( 'error' , error ) ;
163
165
res . end ( ) ;
164
166
} ;
165
167
@@ -195,6 +197,7 @@ HttpProxy.prototype = {
195
197
response . addListener ( 'end' , function ( ) {
196
198
// Remark: Emit the end event for testability
197
199
self . emitter . emit ( 'proxy' , null , self . body ) ;
200
+ reverse_proxy . removeListener ( 'error' , error ) ;
198
201
res . end ( ) ;
199
202
} ) ;
200
203
} ) ;
@@ -207,7 +210,6 @@ HttpProxy.prototype = {
207
210
// At the end of the client request, we are going to stop the proxied request
208
211
req . addListener ( 'end' , function ( ) {
209
212
reverse_proxy . end ( ) ;
210
- reverse_proxy . removeListener ( 'error' , error ) ;
211
213
} ) ;
212
214
213
215
self . unwatch ( req ) ;
@@ -276,8 +278,6 @@ HttpProxy.prototype = {
276
278
var request = client . request ( 'GET' , req . url , headers ) ;
277
279
278
280
var errorListener = function ( error ) {
279
- p . emit ( 'error' , error ) ;
280
- request . emit ( 'error' , error ) ;
281
281
socket . end ( ) ;
282
282
}
283
283
0 commit comments