Send `1009` for too-large message frames
This commit is contained in:
parent
66a619a378
commit
f06eaf13d1
|
@ -6,6 +6,7 @@ package org.whispersystems.websocket;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.protobuf.UninitializedMessageException;
|
import com.google.protobuf.UninitializedMessageException;
|
||||||
|
import org.eclipse.jetty.websocket.api.MessageTooLargeException;
|
||||||
import org.eclipse.jetty.websocket.api.RemoteEndpoint;
|
import org.eclipse.jetty.websocket.api.RemoteEndpoint;
|
||||||
import org.eclipse.jetty.websocket.api.Session;
|
import org.eclipse.jetty.websocket.api.Session;
|
||||||
import org.eclipse.jetty.websocket.api.WebSocketListener;
|
import org.eclipse.jetty.websocket.api.WebSocketListener;
|
||||||
|
@ -95,7 +96,18 @@ public class WebSocketResourceProvider<T extends Principal> implements WebSocket
|
||||||
@Override
|
@Override
|
||||||
public void onWebSocketError(Throwable cause) {
|
public void onWebSocketError(Throwable cause) {
|
||||||
logger.debug("onWebSocketError", cause);
|
logger.debug("onWebSocketError", cause);
|
||||||
close(session, 1011, "Server error");
|
|
||||||
|
final int closeCode;
|
||||||
|
final String message;
|
||||||
|
if (cause instanceof MessageTooLargeException) {
|
||||||
|
closeCode = 1009;
|
||||||
|
message = "Frame too large";
|
||||||
|
} else {
|
||||||
|
closeCode = 1011;
|
||||||
|
message = "Server error";
|
||||||
|
}
|
||||||
|
|
||||||
|
close(session, closeCode, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue