Polishing in HttpWebHandlerAdapter

Closes gh-23780
This commit is contained in:
Rossen Stoyanchev
2019-10-24 20:57:25 +01:00
parent 53dcb00074
commit 7854f49643

View File

@@ -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
}
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) +