|
|
|
@ -267,12 +267,14 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa
@@ -267,12 +267,14 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa
|
|
|
|
|
ServerHttpResponse response = exchange.getResponse(); |
|
|
|
|
String logPrefix = exchange.getLogPrefix(); |
|
|
|
|
|
|
|
|
|
if (isDisconnectedClientError(ex)) { |
|
|
|
|
// Request handling error (e.g. remote call), if we manage to set the status..
|
|
|
|
|
if (response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR)) { |
|
|
|
|
logger.error(logPrefix + "500 Server Error for " + formatRequest(request), ex); |
|
|
|
|
return Mono.empty(); |
|
|
|
|
} |
|
|
|
|
// Sometimes a remote call error can look like a disconnected client.
|
|
|
|
|
// Try to set the response first before the "isDisconnectedClient" check.
|
|
|
|
|
|
|
|
|
|
if (response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR)) { |
|
|
|
|
logger.error(logPrefix + "500 Server Error for " + formatRequest(request), ex); |
|
|
|
|
return Mono.empty(); |
|
|
|
|
} |
|
|
|
|
else if (isDisconnectedClientError(ex)) { |
|
|
|
|
if (lostClientLogger.isTraceEnabled()) { |
|
|
|
|
lostClientLogger.trace(logPrefix + "Client went away", ex); |
|
|
|
|
} |
|
|
|
@ -282,10 +284,6 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa
@@ -282,10 +284,6 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa
|
|
|
|
|
} |
|
|
|
|
return Mono.empty(); |
|
|
|
|
} |
|
|
|
|
else if (response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR)) { |
|
|
|
|
logger.error(logPrefix + "500 Server Error for " + formatRequest(request), ex); |
|
|
|
|
return Mono.empty(); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
// After the response is committed, propagate errors to the server...
|
|
|
|
|
logger.error(logPrefix + "Error [" + ex + "] for " + formatRequest(request) + |
|
|
|
|