From eee0ec390231389b32e27f9ab52e279140abd82e Mon Sep 17 00:00:00 2001 From: Julien Viet Date: Mon, 29 May 2017 14:40:35 +0200 Subject: [PATCH] HttpObjectEncoder#isContentAlwaysEmpty cannot be overridden by subclasses Motivation: Allow subclasses of HttpObjectEncoder other than HttpServerCodec to override the isContentAlwaysEmpty method Modification: Change the method visibility from package private to protected Result: Fixes #6761 --- .../io/netty/handler/codec/http/HttpObjectEncoder.java | 9 ++++++++- .../io/netty/handler/codec/http/HttpServerCodec.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java index 7ef528f365..878a264ab6 100755 --- a/codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java @@ -195,7 +195,14 @@ public abstract class HttpObjectEncoder extends MessageTo } } - boolean isContentAlwaysEmpty(@SuppressWarnings("unused") H msg) { + /** + * Determine whether a message has a content or not. Some message may have headers indicating + * a content without having an actual content, e.g the response to an HEAD or CONNECT request. + * + * @param msg the message to test + * @return {@code true} to signal the message has no content + */ + protected boolean isContentAlwaysEmpty(@SuppressWarnings("unused") H msg) { return false; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/HttpServerCodec.java b/codec-http/src/main/java/io/netty/handler/codec/http/HttpServerCodec.java index 29a11992ad..a009df1145 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/HttpServerCodec.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/HttpServerCodec.java @@ -112,7 +112,7 @@ public final class HttpServerCodec extends CombinedChannelDuplexHandler