Send `1009` for too-large message frames

This commit is contained in:
Chris Eager 2023-05-18 11:28:37 -05:00 committed by Chris Eager
parent 66a619a378
commit f06eaf13d1
1 changed files with 13 additions and 1 deletions

View File

@ -6,6 +6,7 @@ package org.whispersystems.websocket;
import com.google.common.annotations.VisibleForTesting;
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.Session;
import org.eclipse.jetty.websocket.api.WebSocketListener;
@ -95,7 +96,18 @@ public class WebSocketResourceProvider<T extends Principal> implements WebSocket
@Override
public void onWebSocketError(Throwable 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