Better handling of proxy requests errors.

This commit is contained in:
Julien Fontanet
2014-09-24 20:30:26 +02:00
parent f5d0fc8672
commit 832c1ef83c
2 changed files with 13 additions and 6 deletions

View File

@@ -81,8 +81,6 @@ function proxyRequest(opts, upReq, upRes) {
var request = isSecure ? httpsRequest : httpRequest;
var downReq = request(opts, function onResponse(downRes) {
debug('response received');
forEach(downRes.headers, function forwardResponseHeaderUp(value, name) {
upRes.setHeader(name, value);
});

View File

@@ -443,11 +443,20 @@ class $XO extends $EventEmitter
$proxyRequest request, req, res
handleError = (error) ->
console.warn error.stack ? error
closeConnection = ->
unless res.headersSent
res.writeHead 500
res.end()
return
req.on 'error', (error) ->
console.warn 'request error', error.stack ? error
closeConnection()
return
res.on 'error', (error) ->
console.warn 'response error', error.stack ? error
closeConnection()
return
req.on 'error', handleError
res.on 'error', handleError
return