From 4b1df148a6caf13d7a696f68452bb9243f83dcb9 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Tue, 16 Apr 2013 11:49:47 +0900 Subject: [PATCH] Fix a bug where HttpContentEncoder does not update 'Content-Length' and 'Transfer-Encoding' correctly - Add 'Content-Length' and remove 'Transfer-Encoding' in case of FullHttpMessage - Remove 'Content-Length' and add 'Transfer-Encoding: chunked' in case of non-full HttpMessage - Fixes #1275 --- .../codec/http/HttpContentEncoder.java | 45 ++++---- .../codec/http/HttpContentEncoderTest.java | 105 ++++++++++++++++++ 2 files changed, 128 insertions(+), 22 deletions(-) create mode 100644 codec-http/src/test/java/io/netty/handler/codec/http/HttpContentEncoderTest.java diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/HttpContentEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/HttpContentEncoder.java index cbbc0669e2..d69e9fde8e 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/HttpContentEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/HttpContentEncoder.java @@ -23,8 +23,11 @@ import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.embedded.EmbeddedByteChannel; import io.netty.handler.codec.MessageToMessageCodec; +import io.netty.handler.codec.http.HttpHeaders.Names; +import io.netty.handler.codec.http.HttpHeaders.Values; import java.util.ArrayDeque; +import java.util.Collections; import java.util.Queue; /** @@ -168,27 +171,25 @@ public abstract class HttpContentEncoder extends MessageToMessageCodec