Package org.apache.pulsar.websocket
Class AbstractWebSocketHandler
- java.lang.Object
-
- org.eclipse.jetty.websocket.api.WebSocketAdapter
-
- org.apache.pulsar.websocket.AbstractWebSocketHandler
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,org.eclipse.jetty.websocket.api.WebSocketConnectionListener,org.eclipse.jetty.websocket.api.WebSocketListener
- Direct Known Subclasses:
ConsumerHandler,ProducerHandler,ReaderHandler
public abstract class AbstractWebSocketHandler extends org.eclipse.jetty.websocket.api.WebSocketAdapter implements java.io.Closeable
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.String>queryParamsprotected javax.servlet.http.HttpServletRequestrequestprotected WebSocketServiceserviceprotected org.apache.pulsar.common.naming.TopicNametopic
-
Constructor Summary
Constructors Constructor Description AbstractWebSocketHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleancheckAuth(org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)protected java.lang.StringcheckAuthentication()voidclose(WebSocketError error)voidclose(WebSocketError error, java.lang.String message)protected static intgetErrorCode(java.lang.Exception e)protected static java.lang.StringgetErrorMessage(java.lang.Exception e)protected abstract java.lang.BooleanisAuthorized(java.lang.String authRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)voidonWebSocketClose(int statusCode, java.lang.String reason)voidonWebSocketConnect(org.eclipse.jetty.websocket.api.Session session)voidonWebSocketError(java.lang.Throwable cause)-
Methods inherited from class org.eclipse.jetty.websocket.api.WebSocketAdapter
getRemote, getSession, isConnected, isNotConnected, onWebSocketBinary, onWebSocketText
-
-
-
-
Field Detail
-
service
protected final WebSocketService service
-
request
protected final javax.servlet.http.HttpServletRequest request
-
topic
protected final org.apache.pulsar.common.naming.TopicName topic
-
queryParams
protected final java.util.Map<java.lang.String,java.lang.String> queryParams
-
-
Constructor Detail
-
AbstractWebSocketHandler
public AbstractWebSocketHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
-
Method Detail
-
checkAuth
protected boolean checkAuth(org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
getErrorCode
protected static int getErrorCode(java.lang.Exception e)
-
getErrorMessage
protected static java.lang.String getErrorMessage(java.lang.Exception e)
-
onWebSocketConnect
public void onWebSocketConnect(org.eclipse.jetty.websocket.api.Session session)
- Specified by:
onWebSocketConnectin interfaceorg.eclipse.jetty.websocket.api.WebSocketConnectionListener- Overrides:
onWebSocketConnectin classorg.eclipse.jetty.websocket.api.WebSocketAdapter
-
onWebSocketError
public void onWebSocketError(java.lang.Throwable cause)
- Specified by:
onWebSocketErrorin interfaceorg.eclipse.jetty.websocket.api.WebSocketConnectionListener- Overrides:
onWebSocketErrorin classorg.eclipse.jetty.websocket.api.WebSocketAdapter
-
onWebSocketClose
public void onWebSocketClose(int statusCode, java.lang.String reason)- Specified by:
onWebSocketClosein interfaceorg.eclipse.jetty.websocket.api.WebSocketConnectionListener- Overrides:
onWebSocketClosein classorg.eclipse.jetty.websocket.api.WebSocketAdapter
-
close
public void close(WebSocketError error)
-
close
public void close(WebSocketError error, java.lang.String message)
-
checkAuthentication
protected java.lang.String checkAuthentication()
-
isAuthorized
protected abstract java.lang.Boolean isAuthorized(java.lang.String authRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData) throws java.lang.Exception- Throws:
java.lang.Exception
-
-