Browse Source

Improve check for "Broken pipe" error message

Issue: SPR-15802
pull/1481/merge
Rossen Stoyanchev 8 years ago
parent
commit
7e232f989b
  1. 6
      spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java
  2. 6
      spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java

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

@ -184,8 +184,10 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa @@ -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));
}
}

6
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java

@ -361,8 +361,10 @@ public abstract class AbstractSockJsSession implements SockJsSession { @@ -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));
}

Loading…
Cancel
Save