M
- the mappings typepublic abstract class AbstractWebSocketHandlerRegistration<M> extends Object implements WebSocketHandlerRegistration
WebSocketHandlerRegistrations
that gathers all the configuration
options but allows sub-classes to put together the actual HTTP request mappings.Constructor and Description |
---|
AbstractWebSocketHandlerRegistration() |
Modifier and Type | Method and Description |
---|---|
WebSocketHandlerRegistration |
addHandler(WebSocketHandler handler,
String... paths)
Add more handlers that will share the same configuration (interceptors, SockJS
config, etc).
|
WebSocketHandlerRegistration |
addInterceptors(HandshakeInterceptor... interceptors)
Configure interceptors for the handshake request.
|
protected abstract void |
addSockJsServiceMapping(M mappings,
SockJsService sockJsService,
WebSocketHandler handler,
String pathPattern) |
protected abstract void |
addWebSocketHandlerMapping(M mappings,
WebSocketHandler wsHandler,
HandshakeHandler handshakeHandler,
HandshakeInterceptor[] interceptors,
String path) |
protected abstract M |
createMappings() |
protected HandshakeHandler |
getHandshakeHandler() |
protected HandshakeInterceptor[] |
getInterceptors() |
protected M |
getMappings() |
protected SockJsServiceRegistration |
getSockJsServiceRegistration()
Expose the
SockJsServiceRegistration -- if SockJS is enabled or
null otherwise -- so that it can be configured with a TaskScheduler
if the application did not provide one. |
WebSocketHandlerRegistration |
setAllowedOriginPatterns(String... allowedOriginPatterns)
A variant of
WebSocketHandlerRegistration.setAllowedOrigins(String...) that accepts flexible
domain patterns, e.g. |
WebSocketHandlerRegistration |
setAllowedOrigins(String... allowedOrigins)
Configure allowed
Origin header values. |
WebSocketHandlerRegistration |
setHandshakeHandler(HandshakeHandler handshakeHandler)
Configure the HandshakeHandler to use.
|
SockJsServiceRegistration |
withSockJS()
Enable SockJS fallback options.
|
public AbstractWebSocketHandlerRegistration()
public WebSocketHandlerRegistration addHandler(WebSocketHandler handler, String... paths)
WebSocketHandlerRegistration
addHandler
in interface WebSocketHandlerRegistration
public WebSocketHandlerRegistration setHandshakeHandler(@Nullable HandshakeHandler handshakeHandler)
WebSocketHandlerRegistration
setHandshakeHandler
in interface WebSocketHandlerRegistration
@Nullable protected HandshakeHandler getHandshakeHandler()
public WebSocketHandlerRegistration addInterceptors(HandshakeInterceptor... interceptors)
WebSocketHandlerRegistration
addInterceptors
in interface WebSocketHandlerRegistration
public WebSocketHandlerRegistration setAllowedOrigins(String... allowedOrigins)
WebSocketHandlerRegistration
Origin
header values. This check is mostly designed for
browser clients. There is nothing preventing other types of client to modify the
Origin
header value.
When SockJS is enabled and origins are restricted, transport types that do not allow to check request origin (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).
setAllowedOrigins
in interface WebSocketHandlerRegistration
public WebSocketHandlerRegistration setAllowedOriginPatterns(String... allowedOriginPatterns)
WebSocketHandlerRegistration
WebSocketHandlerRegistration.setAllowedOrigins(String...)
that accepts flexible
domain patterns, e.g. "https://*.domain1.com"
. Furthermore it
always sets the Access-Control-Allow-Origin
response header to
the matched origin and never to "*"
, nor to any other pattern.setAllowedOriginPatterns
in interface WebSocketHandlerRegistration
public SockJsServiceRegistration withSockJS()
WebSocketHandlerRegistration
withSockJS
in interface WebSocketHandlerRegistration
protected HandshakeInterceptor[] getInterceptors()
@Nullable protected SockJsServiceRegistration getSockJsServiceRegistration()
SockJsServiceRegistration
-- if SockJS is enabled or
null
otherwise -- so that it can be configured with a TaskScheduler
if the application did not provide one. This should be done prior to
calling getMappings()
.protected final M getMappings()
protected abstract M createMappings()
protected abstract void addSockJsServiceMapping(M mappings, SockJsService sockJsService, WebSocketHandler handler, String pathPattern)
protected abstract void addWebSocketHandlerMapping(M mappings, WebSocketHandler wsHandler, HandshakeHandler handshakeHandler, HandshakeInterceptor[] interceptors, String path)