Browse Source

Polishing in ReactorNettyWebSocketClient

Also, remove local variables that should have been removed when
the corresponding, deprecated setters were removed in
2ed281f6a8.

Closes gh-36370
pull/36429/head
rstoyanchev 3 weeks ago
parent
commit
25bb264bd9
  1. 22
      spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java

22
spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java

@ -51,10 +51,6 @@ public class ReactorNettyWebSocketClient implements WebSocketClient { @@ -51,10 +51,6 @@ public class ReactorNettyWebSocketClient implements WebSocketClient {
private final Supplier<WebsocketClientSpec.Builder> specBuilderSupplier;
private @Nullable Integer maxFramePayloadLength;
private @Nullable Boolean handlePing;
/**
* Default constructor.
@ -102,20 +98,14 @@ public class ReactorNettyWebSocketClient implements WebSocketClient { @@ -102,20 +98,14 @@ public class ReactorNettyWebSocketClient implements WebSocketClient {
* @since 5.3
*/
public WebsocketClientSpec getWebsocketClientSpec() {
return buildSpec(null);
return buildWebSocketClientSpec(null);
}
private WebsocketClientSpec buildSpec(@Nullable String protocols) {
private WebsocketClientSpec buildWebSocketClientSpec(@Nullable String protocols) {
WebsocketClientSpec.Builder builder = this.specBuilderSupplier.get();
if (StringUtils.hasText(protocols)) {
builder.protocols(protocols);
}
if (this.maxFramePayloadLength != null) {
builder.maxFramePayloadLength(this.maxFramePayloadLength);
}
if (this.handlePing != null) {
builder.handlePing(this.handlePing);
}
return builder.build();
}
@ -127,18 +117,18 @@ public class ReactorNettyWebSocketClient implements WebSocketClient { @@ -127,18 +117,18 @@ public class ReactorNettyWebSocketClient implements WebSocketClient {
@Override
public Mono<Void> execute(URI url, HttpHeaders requestHeaders, WebSocketHandler handler) {
String protocols = StringUtils.collectionToCommaDelimitedString(handler.getSubProtocols());
WebsocketClientSpec wsClientSpec = buildSpec(protocols);
WebsocketClientSpec clientSpec = buildWebSocketClientSpec(protocols);
return getHttpClient()
.headers(nettyHeaders -> setNettyHeaders(requestHeaders, nettyHeaders))
.websocket(wsClientSpec)
.websocket(clientSpec)
.uri(url.toString())
.handle((inbound, outbound) -> {
HttpHeaders responseHeaders = toHttpHeaders(inbound);
String protocol = responseHeaders.getFirst("Sec-WebSocket-Protocol");
HandshakeInfo info = new HandshakeInfo(url, responseHeaders, Mono.empty(), protocol);
NettyDataBufferFactory factory = new NettyDataBufferFactory(outbound.alloc());
WebSocketSession session = new ReactorNettyWebSocketSession(inbound, outbound, info, factory,
wsClientSpec.maxFramePayloadLength());
WebSocketSession session = new ReactorNettyWebSocketSession(
inbound, outbound, info, factory, clientSpec.maxFramePayloadLength());
if (logger.isDebugEnabled()) {
logger.debug("Started session '" + session.getId() + "' for " + url);
}

Loading…
Cancel
Save