add test for websocket ping/pong

This commit is contained in:
Athou
2023-12-28 10:25:44 +01:00
parent 8c69dd355c
commit 1289dbae84
2 changed files with 37 additions and 23 deletions

View File

@@ -8,7 +8,6 @@ import jakarta.websocket.CloseReason;
import jakarta.websocket.CloseReason.CloseCodes;
import jakarta.websocket.Endpoint;
import jakarta.websocket.EndpointConfig;
import jakarta.websocket.MessageHandler;
import jakarta.websocket.Session;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -30,15 +29,9 @@ public class WebSocketEndpoint extends Endpoint {
sessions.add(userId, session);
}
// converting this anonymous inner class to a lambda causes the following error when a message is sent from the client
// Unable to find decoder for type <javax.websocket.MessageHandler$Whole>
// this error is only visible when registering a listener to ws.onclose on the client
session.addMessageHandler(new MessageHandler.Whole<String>() {
@Override
public void onMessage(String message) {
if ("ping".equals(message)) {
session.getAsyncRemote().sendText("pong");
}
session.addMessageHandler(String.class, message -> {
if ("ping".equals(message)) {
session.getAsyncRemote().sendText("pong");
}
});
}