Better handling of proxy requests errors.
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user