Class StandardWebSocketUpgradeStrategy
java.lang.Object
org.springframework.web.reactive.socket.server.upgrade.StandardWebSocketUpgradeStrategy
- All Implemented Interfaces:
RequestUpgradeStrategy
- Direct Known Subclasses:
TomcatRequestUpgradeStrategy
A WebSocket
RequestUpgradeStrategy
for the Jakarta WebSocket API 2.1+.
This strategy serves as a fallback if no specific server has been detected. It can also be used with Jakarta EE 10 level servers such as Tomcat 10.1 and Undertow 2.3 directly, relying on their built-in Jakarta WebSocket 2.1 support.
- Since:
- 6.0
- Author:
- Juergen Hoeller, Violeta Georgieva, Rossen Stoyanchev
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected ServerContainer
getContainer
(HttpServletRequest request) void
setAsyncSendTimeout
(Long timeoutInMillis) Exposes the underlying config option onWebSocketContainer.setAsyncSendTimeout(long)
.void
setMaxBinaryMessageBufferSize
(Integer bufferSize) Exposes the underlying config option onWebSocketContainer.setDefaultMaxBinaryMessageBufferSize(int)
.void
setMaxSessionIdleTimeout
(Long timeoutInMillis) Exposes the underlying config option onWebSocketContainer.setDefaultMaxSessionIdleTimeout(long)
.void
setMaxTextMessageBufferSize
(Integer bufferSize) Exposes the underlying config option onWebSocketContainer.setDefaultMaxTextMessageBufferSize(int)
.reactor.core.publisher.Mono<Void>
upgrade
(ServerWebExchange exchange, WebSocketHandler handler, String subProtocol, Supplier<HandshakeInfo> handshakeInfoFactory) Upgrade to a WebSocket session and handle it with the given handler.protected void
upgradeHttpToWebSocket
(HttpServletRequest request, HttpServletResponse response, ServerEndpointConfig endpointConfig, Map<String, String> pathParams)
-
Constructor Details
-
StandardWebSocketUpgradeStrategy
public StandardWebSocketUpgradeStrategy()
-
-
Method Details
-
setAsyncSendTimeout
Exposes the underlying config option onWebSocketContainer.setAsyncSendTimeout(long)
. -
getAsyncSendTimeout
-
setMaxSessionIdleTimeout
Exposes the underlying config option onWebSocketContainer.setDefaultMaxSessionIdleTimeout(long)
. -
getMaxSessionIdleTimeout
-
setMaxTextMessageBufferSize
Exposes the underlying config option onWebSocketContainer.setDefaultMaxTextMessageBufferSize(int)
. -
getMaxTextMessageBufferSize
-
setMaxBinaryMessageBufferSize
Exposes the underlying config option onWebSocketContainer.setDefaultMaxBinaryMessageBufferSize(int)
. -
getMaxBinaryMessageBufferSize
-
upgrade
public reactor.core.publisher.Mono<Void> upgrade(ServerWebExchange exchange, WebSocketHandler handler, @Nullable String subProtocol, Supplier<HandshakeInfo> handshakeInfoFactory) Description copied from interface:RequestUpgradeStrategy
Upgrade to a WebSocket session and handle it with the given handler.- Specified by:
upgrade
in interfaceRequestUpgradeStrategy
- Parameters:
exchange
- the current exchangehandler
- handler for the WebSocket sessionsubProtocol
- the selected sub-protocol got the handlerhandshakeInfoFactory
- factory to create HandshakeInfo for the WebSocket session- Returns:
- completion
Mono<Void>
to indicate the outcome of the WebSocket session handling.
-
upgradeHttpToWebSocket
protected void upgradeHttpToWebSocket(HttpServletRequest request, HttpServletResponse response, ServerEndpointConfig endpointConfig, Map<String, String> pathParams) throws Exception- Throws:
Exception
-
getContainer
-