Commit 0b828db6 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge pull request #16406 from izeye

* pr/16406:
  Check for Reactor Netty disconnected client errors
parents 52ebf20c 9fae1e5d
...@@ -64,7 +64,8 @@ public abstract class AbstractErrorWebExceptionHandler ...@@ -64,7 +64,8 @@ public abstract class AbstractErrorWebExceptionHandler
* Currently duplicated from Spring WebFlux HttpWebHandlerAdapter. * Currently duplicated from Spring WebFlux HttpWebHandlerAdapter.
*/ */
private static final Set<String> DISCONNECTED_CLIENT_EXCEPTIONS = new HashSet<>( private static final Set<String> DISCONNECTED_CLIENT_EXCEPTIONS = new HashSet<>(
Arrays.asList("ClientAbortException", "EOFException", "EofException")); Arrays.asList("AbortedException", "ClientAbortException", "EOFException",
"EofException"));
private static final Log logger = HttpLogging private static final Log logger = HttpLogging
.forLogName(AbstractErrorWebExceptionHandler.class); .forLogName(AbstractErrorWebExceptionHandler.class);
...@@ -268,10 +269,14 @@ public abstract class AbstractErrorWebExceptionHandler ...@@ -268,10 +269,14 @@ public abstract class AbstractErrorWebExceptionHandler
private boolean isDisconnectedClientError(Throwable ex) { private boolean isDisconnectedClientError(Throwable ex) {
String message = NestedExceptionUtils.getMostSpecificCause(ex).getMessage(); String message = NestedExceptionUtils.getMostSpecificCause(ex).getMessage();
message = (message != null) ? message.toLowerCase() : ""; if (message != null) {
String className = ex.getClass().getSimpleName(); String text = message.toLowerCase();
return (message.contains("broken pipe") if (text.contains("broken pipe")
|| DISCONNECTED_CLIENT_EXCEPTIONS.contains(className)); || text.contains("connection reset by peer")) {
return true;
}
}
return DISCONNECTED_CLIENT_EXCEPTIONS.contains(ex.getClass().getSimpleName());
} }
private void logError(ServerRequest request, ServerResponse response, private void logError(ServerRequest request, ServerResponse response,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment