Class ReactorNettyWebSocketClient
- java.lang.Object
- org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient
- All Implemented Interfaces:
WebSocketClient
public class ReactorNettyWebSocketClient extends Object implements WebSocketClient
WebSocketClientimplementation for use with Reactor Netty.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description ReactorNettyWebSocketClient()Default constructor.ReactorNettyWebSocketClient(reactor.netty.http.client.HttpClient httpClient)Constructor that accepts an existingHttpClientbuilder.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.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.booleangetHandlePing()Return the configuredsetHandlePing(boolean).reactor.netty.http.client.HttpClientgetHttpClient()Return the configuredHttpClient.intgetMaxFramePayloadLength()Return the configuredmaxFramePayloadLength.voidsetHandlePing(boolean handlePing)Configure whether to let ping frames through to be handled by theWebSocketHandlergiven to the execute method.voidsetMaxFramePayloadLength(int maxFramePayloadLength)Configure the maximum allowable frame payload length.
Constructor Detail
ReactorNettyWebSocketClient
public ReactorNettyWebSocketClient()
Default constructor.
ReactorNettyWebSocketClient
public ReactorNettyWebSocketClient(reactor.netty.http.client.HttpClient httpClient)
Constructor that accepts an existingHttpClientbuilder.- Since:
- 5.1
Method Detail
getHttpClient
public reactor.netty.http.client.HttpClient getHttpClient()
Return the configuredHttpClient.
setMaxFramePayloadLength
public void setMaxFramePayloadLength(int maxFramePayloadLength)
Configure 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
WebSocketServerHandshakerFactoryin Netty.By default set to 65536 (64K).
- Parameters:
maxFramePayloadLength- the max length for frames.- Since:
- 5.2
getMaxFramePayloadLength
public int getMaxFramePayloadLength()
Return the configuredmaxFramePayloadLength.- Since:
- 5.2
setHandlePing
public void setHandlePing(boolean handlePing)
Configure whether to let ping frames through to be handled by theWebSocketHandlergiven 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
falsein 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
public boolean getHandlePing()
Return the configuredsetHandlePing(boolean).- Since:
- 5.2.4
execute
public reactor.core.publisher.Mono<Void> execute(URI url, WebSocketHandler handler)
Description copied from interface:WebSocketClientExecute a handshake request to the given url and handle the resulting WebSocket session with the given handler.- Specified by:
executein 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:WebSocketClientA variant ofWebSocketClient.execute(URI, WebSocketHandler)with custom headers.- Specified by:
executein 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.