diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java b/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java index 5be3eadada8..6992537c928 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java @@ -184,8 +184,10 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa } private boolean indicatesDisconnectedClient(Throwable ex) { - return ("Broken pipe".equalsIgnoreCase(NestedExceptionUtils.getMostSpecificCause(ex).getMessage()) || - DISCONNECTED_CLIENT_EXCEPTIONS.contains(ex.getClass().getSimpleName())); + String message = NestedExceptionUtils.getMostSpecificCause(ex).getMessage(); + message = (message != null ? message.toLowerCase() : ""); + String className = ex.getClass().getSimpleName(); + return (message.contains("broken pipe") || DISCONNECTED_CLIENT_EXCEPTIONS.contains(className)); } } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java index 77a41a6a580..11286e0d0fb 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java @@ -361,8 +361,10 @@ public abstract class AbstractSockJsSession implements SockJsSession { } private boolean indicatesDisconnectedClient(Throwable ex) { - return ("Broken pipe".equalsIgnoreCase(NestedExceptionUtils.getMostSpecificCause(ex).getMessage()) || - DISCONNECTED_CLIENT_EXCEPTIONS.contains(ex.getClass().getSimpleName())); + String message = NestedExceptionUtils.getMostSpecificCause(ex).getMessage(); + message = (message != null ? message.toLowerCase() : ""); + String className = ex.getClass().getSimpleName(); + return (message.contains("broken pipe") || DISCONNECTED_CLIENT_EXCEPTIONS.contains(className)); }