From 8ccfecc406e4e9e99a07017142fc8b9a852edc85 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 14 Sep 2016 17:45:27 -0400 Subject: [PATCH] Workaround for Content-Length issue in Reactor Netty Issue: SPR-14643 --- .../http/server/reactive/ReactorServerHttpResponse.java | 5 +++++ 1 file changed, 5 insertions(+) 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 d7a9f3e6ba..9e6479bd51 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 @@ -30,6 +30,7 @@ import reactor.ipc.netty.http.HttpChannel; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferFactory; import org.springframework.core.io.buffer.NettyDataBufferFactory; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseCookie; import org.springframework.http.ZeroCopyHttpOutputMessage; @@ -85,6 +86,10 @@ public class ReactorServerHttpResponse extends AbstractServerHttpResponse @Override protected void writeHeaders() { + // TODO: temporarily, see https://github.com/reactor/reactor-netty/issues/2 + if(getHeaders().containsKey(HttpHeaders.CONTENT_LENGTH)){ + this.channel.responseTransfer(false); + } for (String name : getHeaders().keySet()) { for (String value : getHeaders().get(name)) { this.channel.responseHeaders().add(name, value);