Browse Source

Merge pull request #23780 from izeye/polish-20191011

pull/23931/head
Rossen Stoyanchev 5 years ago
parent
commit
5c0212e678
  1. 18
      spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java

18
spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java

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

Loading…
Cancel
Save