Class AbstractWebSocketHandlerRegistration<M>
- java.lang.Object
- org.springframework.web.socket.config.annotation.AbstractWebSocketHandlerRegistration<M>
- All Implemented Interfaces:
WebSocketHandlerRegistration
- Direct Known Subclasses:
ServletWebSocketHandlerRegistration
public abstract class AbstractWebSocketHandlerRegistration<M> extends Object implements WebSocketHandlerRegistration
Base class forWebSocketHandlerRegistrations that gathers all the configuration options but allows sub-classes to put together the actual HTTP request mappings.- Since:
- 4.0
- Author:
- Rossen Stoyanchev, Sebastien Deleuze
Constructor Summary
Constructors Constructor Description AbstractWebSocketHandlerRegistration(TaskScheduler defaultTaskScheduler)
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description WebSocketHandlerRegistrationaddHandler(WebSocketHandler handler, String... paths)Add more handlers that will share the same configuration (interceptors, SockJS config, etc)WebSocketHandlerRegistrationaddInterceptors(HandshakeInterceptor... interceptors)Configure interceptors for the handshake request.protected abstract voidaddSockJsServiceMapping(M mappings, SockJsService sockJsService, WebSocketHandler handler, String pathPattern)protected abstract voidaddWebSocketHandlerMapping(M mappings, WebSocketHandler wsHandler, HandshakeHandler handshakeHandler, HandshakeInterceptor[] interceptors, String path)protected abstract McreateMappings()protected HandshakeHandlergetHandshakeHandler()protected HandshakeInterceptor[]getInterceptors()protected MgetMappings()WebSocketHandlerRegistrationsetAllowedOrigins(String... allowedOrigins)Configure allowedOriginheader values.WebSocketHandlerRegistrationsetHandshakeHandler(HandshakeHandler handshakeHandler)Configure the HandshakeHandler to use.SockJsServiceRegistrationwithSockJS()Enable SockJS fallback options.
Constructor Detail
AbstractWebSocketHandlerRegistration
public AbstractWebSocketHandlerRegistration(TaskScheduler defaultTaskScheduler)
Method Detail
addHandler
public WebSocketHandlerRegistration addHandler(WebSocketHandler handler, String... paths)
Description copied from interface:WebSocketHandlerRegistrationAdd more handlers that will share the same configuration (interceptors, SockJS config, etc)- Specified by:
addHandlerin interfaceWebSocketHandlerRegistration
setHandshakeHandler
public WebSocketHandlerRegistration setHandshakeHandler(HandshakeHandler handshakeHandler)
Description copied from interface:WebSocketHandlerRegistrationConfigure the HandshakeHandler to use.- Specified by:
setHandshakeHandlerin interfaceWebSocketHandlerRegistration
getHandshakeHandler
protected HandshakeHandler getHandshakeHandler()
addInterceptors
public WebSocketHandlerRegistration addInterceptors(HandshakeInterceptor... interceptors)
Description copied from interface:WebSocketHandlerRegistrationConfigure interceptors for the handshake request.- Specified by:
addInterceptorsin interfaceWebSocketHandlerRegistration
setAllowedOrigins
public WebSocketHandlerRegistration setAllowedOrigins(String... allowedOrigins)
Description copied from interface:WebSocketHandlerRegistrationConfigure allowedOriginheader values. This check is mostly designed for browser clients. There is nothing preventing other types of client to modify theOriginheader value.When SockJS is enabled and origins are restricted, transport types that do not allow to check request origin (JSONP and Iframe based transports) are disabled. As a consequence, IE 6 to 9 are not supported when origins are restricted.
Each provided allowed origin must start by "http://", "https://" or be "*" (means that all origins are allowed). By default, only same origin requests are allowed (empty list).
- Specified by:
setAllowedOriginsin interfaceWebSocketHandlerRegistration- See Also:
- RFC 6454: The Web Origin Concept, SockJS supported transports by browser
withSockJS
public SockJsServiceRegistration withSockJS()
Description copied from interface:WebSocketHandlerRegistrationEnable SockJS fallback options.- Specified by:
withSockJSin interfaceWebSocketHandlerRegistration
getInterceptors
protected HandshakeInterceptor[] getInterceptors()
getMappings
protected final M getMappings()
createMappings
protected abstract M createMappings()
addSockJsServiceMapping
protected abstract void addSockJsServiceMapping(M mappings, SockJsService sockJsService, WebSocketHandler handler, String pathPattern)
addWebSocketHandlerMapping
protected abstract void addWebSocketHandlerMapping(M mappings, WebSocketHandler wsHandler, HandshakeHandler handshakeHandler, HandshakeInterceptor[] interceptors, String path)