Package org.openhab.core.io.websocket
Class CommonWebSocketServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.eclipse.jetty.websocket.servlet.WebSocketServlet
org.openhab.core.io.websocket.CommonWebSocketServlet
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
@NonNullByDefault
public class CommonWebSocketServlet
extends org.eclipse.jetty.websocket.servlet.WebSocketServlet
The
CommonWebSocketServlet provides the servlet for WebSocket connections.
Clients can authorize in two ways:
- By setting
org.openhab.ws.accessToken.base64.+ base64-encoded access token and theWEBSOCKET_PROTOCOL_DEFAULTin theSec-WebSocket-Protocolheader. - By providing the access token as query parameter
accessToken.
- Author:
- Jan N. Klug - Initial contribution, Miguel Álvarez Díez - Refactor into a common servlet, Florian Hotze - Support passing access token through Sec-WebSocket-Protocol header
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddWebSocketAdapter(WebSocketAdapter wsAdapter) voidconfigure(org.eclipse.jetty.websocket.servlet.WebSocketServletFactory webSocketServletFactory) protected voidremoveWebSocketAdapter(WebSocketAdapter wsAdapter) Methods inherited from class org.eclipse.jetty.websocket.servlet.WebSocketServlet
destroy, init, serviceMethods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceMethods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
SEC_WEBSOCKET_PROTOCOL_HEADER
- See Also:
-
WEBSOCKET_PROTOCOL_DEFAULT
- See Also:
-
SERVLET_PATH
- See Also:
-
DEFAULT_ADAPTER_ID
- See Also:
-
-
Constructor Details
-
CommonWebSocketServlet
public CommonWebSocketServlet(AuthFilter authFilter) throws javax.servlet.ServletException, org.osgi.service.http.NamespaceException - Throws:
javax.servlet.ServletExceptionorg.osgi.service.http.NamespaceException
-
-
Method Details
-
configure
public void configure(@NonNullByDefault({}) org.eclipse.jetty.websocket.servlet.WebSocketServletFactory webSocketServletFactory) - Specified by:
configurein classorg.eclipse.jetty.websocket.servlet.WebSocketServlet
-
addWebSocketAdapter
-
removeWebSocketAdapter
-