Browse Source

Refine Reactor Netty handling of request without body

Closes gh-34003
pull/34398/head
rstoyanchev 1 year ago
parent
commit
15dcc449a2
  1. 4
      spring-web/src/main/java/org/springframework/http/client/ReactorClientHttpRequest.java
  2. 4
      spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java
  3. 4
      spring-web/src/main/java/org/springframework/http/client/reactive/ReactorNetty2ClientHttpRequest.java

4
spring-web/src/main/java/org/springframework/http/client/ReactorClientHttpRequest.java

@ -145,7 +145,9 @@ final class ReactorClientHttpRequest extends AbstractStreamingClientHttpRequest @@ -145,7 +145,9 @@ final class ReactorClientHttpRequest extends AbstractStreamingClientHttpRequest
headers.forEach((key, value) -> request.requestHeaders().set(key, value));
if (body == null) {
return outbound;
// NettyOutbound#subscribe calls then() and that expects a body
// Use empty Mono instead for a more optimal send
return Mono.empty();
}
AtomicReference<Executor> executorRef = new AtomicReference<>();

4
spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java

@ -120,7 +120,9 @@ class ReactorClientHttpRequest extends AbstractClientHttpRequest implements Zero @@ -120,7 +120,9 @@ class ReactorClientHttpRequest extends AbstractClientHttpRequest implements Zero
@Override
public Mono<Void> setComplete() {
return doCommit(this.outbound::then);
// NettyOutbound#then() expects a body
// Use null as the write action for a more optimal send
return doCommit(null);
}
@Override

4
spring-web/src/main/java/org/springframework/http/client/reactive/ReactorNetty2ClientHttpRequest.java

@ -123,7 +123,9 @@ class ReactorNetty2ClientHttpRequest extends AbstractClientHttpRequest implement @@ -123,7 +123,9 @@ class ReactorNetty2ClientHttpRequest extends AbstractClientHttpRequest implement
@Override
public Mono<Void> setComplete() {
return doCommit(this.outbound::then);
// NettyOutbound#then() expects a body
// Use null as the write action for a more optimal send
return doCommit(null);
}
@Override

Loading…
Cancel
Save