Refine Reactor Netty handling of request without body

Closes gh-34003
This commit is contained in:
rstoyanchev
2024-12-02 17:52:39 +00:00
parent 320831b18a
commit 15dcc449a2
3 changed files with 9 additions and 3 deletions

View File

@@ -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<>();

View File

@@ -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

View File

@@ -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