
com.github.gkutiel.flip.web.WebSocketHandler Maven / Gradle / Ivy
package com.github.gkutiel.flip.web;
import javax.servlet.http.HttpServletRequest;
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocketServlet;
import com.github.gkutiel.flip.web.Flip.WebSocketListener;
class WebSocketHandler extends WebSocketServlet {
class Socket implements WebSocket.OnTextMessage {
private final FlipSocket flipSocket;
public Socket(final HttpServletRequest req, final String info) {
this.flipSocket = new FlipSocket(req, info);
}
@Override
public void onOpen(final Connection con) {
this.flipSocket.setConnection(con);
WebSocketHandler.this.webSocketListener.onOpen(this.flipSocket);
}
@Override
public void onClose(final int closeCode, final String message) {
WebSocketHandler.this.webSocketListener.onClose(this.flipSocket);
}
@Override
public void onMessage(final String data) {
throw new IllegalStateException("flip does not support WebSocket onMessage");
}
}
private final WebSocketListener webSocketListener;
public WebSocketHandler(final WebSocketListener webSocketListener) {
this.webSocketListener = webSocketListener;
}
@Override
public WebSocket doWebSocketConnect(final HttpServletRequest req, final String info) {
return new Socket(req, info);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy