Class AbstractWebSocketHandler

java.lang.Object
org.eclipse.jetty.websocket.api.WebSocketAdapter
org.apache.pulsar.websocket.AbstractWebSocketHandler
All Implemented Interfaces:
Closeable, 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 Closeable
  • Field Details

    • service

      protected final WebSocketService service
    • request

      protected final javax.servlet.http.HttpServletRequest request
    • topic

      protected org.apache.pulsar.common.naming.TopicName topic
    • queryParams

      protected final Map<String,String> queryParams
    • consumerCommandReader

      protected final com.fasterxml.jackson.databind.ObjectReader consumerCommandReader
  • Constructor Details

    • AbstractWebSocketHandler

      public AbstractWebSocketHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
  • Method Details

    • checkAuth

      protected boolean checkAuth(org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
    • getErrorCode

      protected static int getErrorCode(Exception e)
    • getErrorMessage

      protected static String getErrorMessage(Exception e)
    • onWebSocketConnect

      public void onWebSocketConnect(org.eclipse.jetty.websocket.api.Session session)
      Specified by:
      onWebSocketConnect in interface org.eclipse.jetty.websocket.api.WebSocketConnectionListener
      Overrides:
      onWebSocketConnect in class org.eclipse.jetty.websocket.api.WebSocketAdapter
    • onWebSocketError

      public void onWebSocketError(Throwable cause)
      Specified by:
      onWebSocketError in interface org.eclipse.jetty.websocket.api.WebSocketConnectionListener
      Overrides:
      onWebSocketError in class org.eclipse.jetty.websocket.api.WebSocketAdapter
    • onWebSocketClose

      public void onWebSocketClose(int statusCode, String reason)
      Specified by:
      onWebSocketClose in interface org.eclipse.jetty.websocket.api.WebSocketConnectionListener
      Overrides:
      onWebSocketClose in class org.eclipse.jetty.websocket.api.WebSocketAdapter
    • close

      public void close(WebSocketError error)
    • close

      public void close(WebSocketError error, String message)
    • checkAuthentication

      protected String checkAuthentication()
    • extractTopicName

      protected void extractTopicName(javax.servlet.http.HttpServletRequest request)
    • getPingFuture

      public ScheduledFuture<?> getPingFuture()
    • isAuthorized

      protected abstract Boolean isAuthorized(String authRole, AuthenticationDataSource authenticationData) throws Exception
      Throws:
      Exception
    • objectWriter

      protected com.fasterxml.jackson.databind.ObjectWriter objectWriter()