From 5f074343607bd156646c30b5226152d60ec506dd Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 25 Jul 2017 10:34:30 +0200 Subject: [PATCH] Improve check for "Broken pipe" error message Issue: SPR-15802 --- .../sockjs/transport/session/AbstractSockJsSession.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 925f36b67fd..227d4b01d37 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 @@ -355,8 +355,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)); }