Class StandardWebSocketClient
java.lang.Object
org.springframework.web.reactive.socket.client.StandardWebSocketClient
- All Implemented Interfaces:
WebSocketClient
- Direct Known Subclasses:
TomcatWebSocketClient
WebSocketClient
implementation for use with the Jakarta WebSocket API.- Since:
- 5.0
- Author:
- Violeta Georgieva, Rossen Stoyanchev
- See Also:
-
Constructor Summary
ConstructorDescriptionDefault constructor that callsContainerProvider.getWebSocketContainer()
to obtain a (new)WebSocketContainer
instance.StandardWebSocketClient
(WebSocketContainer webSocketContainer) Constructor accepting an existingWebSocketContainer
instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected DataBufferFactory
Return theDataBufferFactory
to use.protected ClientEndpointConfig
createEndpointConfig
(ClientEndpointConfig.Configurator configurator, List<String> subProtocols) Create theClientEndpointConfig
for the given configurator.protected StandardWebSocketSession
createWebSocketSession
(Session session, HandshakeInfo info, reactor.core.publisher.Sinks.Empty<Void> completionSink) Create theStandardWebSocketSession
for the given Jakarta WebSocket Session.reactor.core.publisher.Mono<Void>
execute
(URI url, HttpHeaders headers, WebSocketHandler handler) A variant ofWebSocketClient.execute(URI, WebSocketHandler)
with custom headers.reactor.core.publisher.Mono<Void>
execute
(URI url, WebSocketHandler handler) Execute a handshake request to the given url and handle the resulting WebSocket session with the given handler.Return the configuredWebSocketContainer
to use.
-
Constructor Details
-
StandardWebSocketClient
public StandardWebSocketClient()Default constructor that callsContainerProvider.getWebSocketContainer()
to obtain a (new)WebSocketContainer
instance. -
StandardWebSocketClient
Constructor accepting an existingWebSocketContainer
instance.- Parameters:
webSocketContainer
- a web socket container
-
-
Method Details
-
getWebSocketContainer
Return the configuredWebSocketContainer
to use. -
execute
Description copied from interface:WebSocketClient
Execute a handshake request to the given url and handle the resulting WebSocket session with the given handler.- Specified by:
execute
in interfaceWebSocketClient
- Parameters:
url
- the handshake urlhandler
- the handler of the WebSocket session- Returns:
- completion
Mono<Void>
to indicate the outcome of the WebSocket session handling.
-
execute
public reactor.core.publisher.Mono<Void> execute(URI url, HttpHeaders headers, WebSocketHandler handler) Description copied from interface:WebSocketClient
A variant ofWebSocketClient.execute(URI, WebSocketHandler)
with custom headers.- Specified by:
execute
in interfaceWebSocketClient
- Parameters:
url
- the handshake urlheaders
- custom headers for the handshake requesthandler
- the handler of the WebSocket session- Returns:
- completion
Mono<Void>
to indicate the outcome of the WebSocket session handling.
-
createWebSocketSession
protected StandardWebSocketSession createWebSocketSession(Session session, HandshakeInfo info, reactor.core.publisher.Sinks.Empty<Void> completionSink) Create theStandardWebSocketSession
for the given Jakarta WebSocket Session.- See Also:
-
bufferFactory
Return theDataBufferFactory
to use. -
createEndpointConfig
protected ClientEndpointConfig createEndpointConfig(ClientEndpointConfig.Configurator configurator, List<String> subProtocols) Create theClientEndpointConfig
for the given configurator. Can be overridden to add extensions or an SSL context.- Parameters:
configurator
- the configurator to applysubProtocols
- the preferred sub-protocols- Since:
- 6.1.3
-