Improve check for "Broken pipe" error message

Issue: SPR-15802
This commit is contained in:
Rossen Stoyanchev 2017-07-25 10:30:11 +02:00
parent ed6fe2b723
commit 7e232f989b
2 changed files with 8 additions and 4 deletions

View File

@ -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));
}
}

View File

@ -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));
}