From 13c746ae9d25c3e3cf01df6ed507db1480a6760b Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 17 Apr 2019 13:18:01 -0400 Subject: [PATCH] Follow-up fix for #5b711a Not only do we need to preserve Mono in writeWith in the base class but also in ReactorServerHttpResponse where buffers are mapped. See gh-22800 --- .../http/server/reactive/ReactorServerHttpResponse.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java index 2a98a6908c..4eedad0c2b 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java @@ -122,7 +122,9 @@ class ReactorServerHttpResponse extends AbstractServerHttpResponse implements Ze } private Publisher toByteBufs(Publisher dataBuffers) { - return Flux.from(dataBuffers).map(NettyDataBufferFactory::toByteBuf); + return dataBuffers instanceof Mono ? + Mono.from(dataBuffers).map(NettyDataBufferFactory::toByteBuf) : + Flux.from(dataBuffers).map(NettyDataBufferFactory::toByteBuf); } }