public class SockJsHttpRequestHandler extends Object implements HttpRequestHandler, CorsConfigurationSource, Lifecycle, ServletContextAware
HttpRequestHandler
that allows mapping a SockJsService
to requests
in a Servlet container.Constructor and Description |
---|
SockJsHttpRequestHandler(SockJsService sockJsService,
WebSocketHandler webSocketHandler)
Create a new SockJsHttpRequestHandler.
|
Modifier and Type | Method and Description |
---|---|
CorsConfiguration |
getCorsConfiguration(HttpServletRequest request)
Return a
CorsConfiguration based on the incoming request. |
SockJsService |
getSockJsService()
Return the
SockJsService . |
WebSocketHandler |
getWebSocketHandler()
Return the
WebSocketHandler . |
void |
handleRequest(HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
Process the given request, generating a response.
|
boolean |
isRunning()
Check whether this component is currently running.
|
void |
setServletContext(ServletContext servletContext)
Set the
ServletContext that this object runs in. |
void |
start()
Start this component.
|
void |
stop()
Stop this component, typically in a synchronous fashion, such that the component is
fully stopped upon return of this method.
|
public SockJsHttpRequestHandler(SockJsService sockJsService, WebSocketHandler webSocketHandler)
sockJsService
- the SockJS servicewebSocketHandler
- the websocket handlerpublic SockJsService getSockJsService()
SockJsService
.public WebSocketHandler getWebSocketHandler()
WebSocketHandler
.public void setServletContext(ServletContext servletContext)
ServletContextAware
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
.
setServletContext
in interface ServletContextAware
servletContext
- the ServletContext object to be used by this objectInitializingBean.afterPropertiesSet()
,
ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
public void start()
Lifecycle
Should not throw an exception if the component is already running.
In the case of a container, this will propagate the start signal to all components that apply.
start
in interface Lifecycle
SmartLifecycle.isAutoStartup()
public void stop()
Lifecycle
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.
stop
in interface Lifecycle
SmartLifecycle.stop(Runnable)
,
DisposableBean.destroy()
public boolean isRunning()
Lifecycle
In the case of a container, this will return true
only if all
components that apply are currently running.
public void handleRequest(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException
HttpRequestHandler
handleRequest
in interface HttpRequestHandler
servletRequest
- current HTTP requestservletResponse
- current HTTP responseServletException
- in case of general errorsIOException
- in case of I/O errors@Nullable public CorsConfiguration getCorsConfiguration(HttpServletRequest request)
CorsConfigurationSource
CorsConfiguration
based on the incoming request.getCorsConfiguration
in interface CorsConfigurationSource
CorsConfiguration
, or null
if none