diff --git a/reactor-netty5-http/src/main/java/reactor/netty5/http/client/HttpClientOperations.java b/reactor-netty5-http/src/main/java/reactor/netty5/http/client/HttpClientOperations.java index 08f1834c0a..5bc18b020b 100644 --- a/reactor-netty5-http/src/main/java/reactor/netty5/http/client/HttpClientOperations.java +++ b/reactor-netty5-http/src/main/java/reactor/netty5/http/client/HttpClientOperations.java @@ -729,13 +729,9 @@ final Mono send() { if (!channel().isActive()) { return Mono.error(AbortedException.beforeSend()); } - if (markSentHeaderAndBody()) { - HttpMessage request = newFullBodyMessage(channel().bufferAllocator().allocate(0)); - return Mono.fromCompletionStage(() -> channel().writeAndFlush(request).asStage()); - } - else { - return Mono.empty(); - } + return Mono.fromCompletionStage(() -> markSentHeaderAndBody() ? + channel().writeAndFlush(newFullBodyMessage(channel().bufferAllocator().allocate(0))).asStage() : + channel().newSucceededFuture().asStage()); } final void setNettyResponse(HttpResponse nettyResponse) { diff --git a/reactor-netty5-http/src/main/java/reactor/netty5/http/server/HttpServerOperations.java b/reactor-netty5-http/src/main/java/reactor/netty5/http/server/HttpServerOperations.java index d41870fdbb..ebaa271e5a 100644 --- a/reactor-netty5-http/src/main/java/reactor/netty5/http/server/HttpServerOperations.java +++ b/reactor-netty5-http/src/main/java/reactor/netty5/http/server/HttpServerOperations.java @@ -417,13 +417,9 @@ public HttpHeaders responseHeaders() { @Override public Mono send() { - if (markSentHeaderAndBody()) { - HttpMessage response = newFullBodyMessage(channel().bufferAllocator().allocate(0)); - return Mono.fromCompletionStage(() -> channel().writeAndFlush(response).asStage()); - } - else { - return Mono.empty(); - } + return Mono.fromCompletionStage(() -> markSentHeaderAndBody() ? + channel().writeAndFlush(newFullBodyMessage(channel().bufferAllocator().allocate(0))).asStage() : + channel().newSucceededFuture().asStage()); } @Override