Class ReactorNettyWebSocketClient
java.lang.Object
org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient
- All Implemented Interfaces:
WebSocketClient
WebSocketClient
implementation for use with Reactor Netty.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionDefault constructor.ReactorNettyWebSocketClient
(reactor.netty.http.client.HttpClient httpClient) Constructor that accepts an existingHttpClient
builder with a defaultWebsocketClientSpec.Builder
.ReactorNettyWebSocketClient
(reactor.netty.http.client.HttpClient httpClient, Supplier<reactor.netty.http.client.WebsocketClientSpec.Builder> builderSupplier) Constructor that accepts an existingHttpClient
builder and a pre-configuredWebsocketClientSpec.Builder
. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>
execute
(URI url, HttpHeaders requestHeaders, 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.boolean
Deprecated.reactor.netty.http.client.HttpClient
Return the configuredHttpClient
.int
Deprecated.as of 5.3 in favor ofgetWebsocketClientSpec()
reactor.netty.http.client.WebsocketClientSpec
Build an instance ofWebsocketClientSpec
that reflects the current configuration.void
setHandlePing
(boolean handlePing) Deprecated.as of 5.3 in favor of providing a supplier ofWebsocketClientSpec.Builder
with a constructor argumentvoid
setMaxFramePayloadLength
(int maxFramePayloadLength) Deprecated.as of 5.3 in favor of providing a supplier ofWebsocketClientSpec.Builder
with a constructor argument
-
Constructor Details
-
ReactorNettyWebSocketClient
public ReactorNettyWebSocketClient()Default constructor. -
ReactorNettyWebSocketClient
public ReactorNettyWebSocketClient(reactor.netty.http.client.HttpClient httpClient) Constructor that accepts an existingHttpClient
builder with a defaultWebsocketClientSpec.Builder
.- Since:
- 5.1
-
ReactorNettyWebSocketClient
public ReactorNettyWebSocketClient(reactor.netty.http.client.HttpClient httpClient, Supplier<reactor.netty.http.client.WebsocketClientSpec.Builder> builderSupplier) Constructor that accepts an existingHttpClient
builder and a pre-configuredWebsocketClientSpec.Builder
.- Since:
- 5.3
-
-
Method Details
-
getHttpClient
public reactor.netty.http.client.HttpClient getHttpClient()Return the configuredHttpClient
. -
getWebsocketClientSpec
public reactor.netty.http.client.WebsocketClientSpec getWebsocketClientSpec()Build an instance ofWebsocketClientSpec
that reflects the current configuration. This can be used to check the configured parameters except for sub-protocols which depend on theWebSocketHandler
that is used for a given upgrade.- Since:
- 5.3
-
setMaxFramePayloadLength
Deprecated.as of 5.3 in favor of providing a supplier ofWebsocketClientSpec.Builder
with a constructor argumentConfigure the maximum allowable frame payload length. Setting this value to your application's requirement may reduce denial of service attacks using long data frames.Corresponds to the argument with the same name in the constructor of
WebSocketServerHandshakerFactory
in Netty.By default set to 65536 (64K).
- Parameters:
maxFramePayloadLength
- the max length for frames.- Since:
- 5.2
-
getMaxFramePayloadLength
Deprecated.as of 5.3 in favor ofgetWebsocketClientSpec()
Return the configuredmaxFramePayloadLength
.- Since:
- 5.2
-
setHandlePing
Deprecated.as of 5.3 in favor of providing a supplier ofWebsocketClientSpec.Builder
with a constructor argumentConfigure whether to let ping frames through to be handled by theWebSocketHandler
given to the execute method. By default, Reactor Netty automatically replies with pong frames in response to pings. This is useful in a proxy for allowing ping and pong frames through.By default this is set to
false
in which case ping frames are handled automatically by Reactor Netty. If set totrue
, ping frames will be passed through to theWebSocketHandler
.- Parameters:
handlePing
- whether to let Ping frames through for handling- Since:
- 5.2.4
-
getHandlePing
Deprecated.as of 5.3 in favor ofgetWebsocketClientSpec()
Return the configuredsetHandlePing(boolean)
.- Since:
- 5.2.4
-
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 requestHeaders, 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 urlrequestHeaders
- 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.
-
getWebsocketClientSpec()