Class SockJsHttpRequestHandler

java.lang.Object
org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler
All Implemented Interfaces:
Aware, Lifecycle, ServletContextAware, CorsConfigurationSource, HttpRequestHandler

public class SockJsHttpRequestHandler extends Object implements HttpRequestHandler, CorsConfigurationSource, Lifecycle, ServletContextAware
An HttpRequestHandler that allows mapping a SockJsService to requests in a Servlet container.
Since:
4.0
Author:
Rossen Stoyanchev, Sebastien Deleuze
  • Constructor Details

    • SockJsHttpRequestHandler

      public SockJsHttpRequestHandler(SockJsService sockJsService, WebSocketHandler webSocketHandler)
      Create a new SockJsHttpRequestHandler.
      Parameters:
      sockJsService - the SockJS service
      webSocketHandler - the websocket handler
  • Method Details

    • getSockJsService

      public SockJsService getSockJsService()
      Return the SockJsService.
    • getWebSocketHandler

      public WebSocketHandler getWebSocketHandler()
      Return the WebSocketHandler.
    • setServletContext

      public void setServletContext(jakarta.servlet.ServletContext servletContext)
      Description copied from interface: ServletContextAware
      Set the ServletContext that this object runs in.

      Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked after ApplicationContextAware's setApplicationContext.

      Specified by:
      setServletContext in interface ServletContextAware
      Parameters:
      servletContext - the ServletContext object to be used by this object
      See Also:
    • start

      public void start()
      Description copied from interface: Lifecycle
      Start this component.

      Should not throw an exception if the component is already running.

      In the case of a container, this will propagate a hard start signal to all components that apply, even to non-auto-startup components.

      Specified by:
      start in interface Lifecycle
      See Also:
    • stop

      public void stop()
      Description copied from interface: Lifecycle
      Stop this component, typically in a synchronous fashion, such that the component is fully stopped upon return of this method. Consider implementing SmartLifecycle and its stop(Runnable) variant when asynchronous stop behavior is necessary.

      Note that this stop notification is not guaranteed to come before destruction: On regular shutdown, Lifecycle beans will first receive a stop notification before the general destruction callbacks are being propagated; however, on hot refresh during a context's lifetime or on aborted refresh attempts, a given bean's destroy method will be called without any consideration of stop signals upfront.

      Should not throw an exception if the component is not running (not started yet).

      In the case of a container, this will propagate the stop signal to all components that apply.

      Specified by:
      stop in interface Lifecycle
      See Also:
    • isRunning

      public boolean isRunning()
      Description copied from interface: Lifecycle
      Check whether this component is currently running.

      In the case of a container, this will return true only if all components that apply are currently running.

      Specified by:
      isRunning in interface Lifecycle
      Returns:
      whether the component is currently running
    • handleRequest

      public void handleRequest(jakarta.servlet.http.HttpServletRequest servletRequest, jakarta.servlet.http.HttpServletResponse servletResponse) throws jakarta.servlet.ServletException, IOException
      Description copied from interface: HttpRequestHandler
      Process the given request, generating a response.
      Specified by:
      handleRequest in interface HttpRequestHandler
      Parameters:
      servletRequest - current HTTP request
      servletResponse - current HTTP response
      Throws:
      jakarta.servlet.ServletException - in case of general errors
      IOException - in case of I/O errors
    • getCorsConfiguration

      public @Nullable CorsConfiguration getCorsConfiguration(jakarta.servlet.http.HttpServletRequest request)
      Description copied from interface: CorsConfigurationSource
      Return a CorsConfiguration based on the incoming request.
      Specified by:
      getCorsConfiguration in interface CorsConfigurationSource
      Returns:
      the associated CorsConfiguration, or null if none