All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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