[#971] Fix a bug where the HttpContentCompressor was try to start compressing on an empty response
This commit is contained in:
parent
641db5cdfe
commit
97ea338bce
@ -83,6 +83,19 @@ public abstract class HttpContentEncoder extends MessageToMessageCodec<HttpMessa
|
|||||||
// 100-continue response must be passed through.
|
// 100-continue response must be passed through.
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handle the case of single complete message without content
|
||||||
|
if (msg instanceof FullHttpMessage && !((FullHttpMessage) msg).data().readable()) {
|
||||||
|
|
||||||
|
// Remove content encoding
|
||||||
|
String acceptEncoding = acceptEncodingQueue.poll();
|
||||||
|
if (acceptEncoding == null) {
|
||||||
|
throw new IllegalStateException("cannot send more responses than requests");
|
||||||
|
}
|
||||||
|
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
if (msg instanceof HttpMessage) {
|
if (msg instanceof HttpMessage) {
|
||||||
assert message == null;
|
assert message == null;
|
||||||
|
|
||||||
@ -121,6 +134,7 @@ public abstract class HttpContentEncoder extends MessageToMessageCodec<HttpMessa
|
|||||||
if (acceptEncoding == null) {
|
if (acceptEncoding == null) {
|
||||||
throw new IllegalStateException("cannot send more responses than requests");
|
throw new IllegalStateException("cannot send more responses than requests");
|
||||||
}
|
}
|
||||||
|
|
||||||
Result result = beginEncode(message, c, acceptEncoding);
|
Result result = beginEncode(message, c, acceptEncoding);
|
||||||
|
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user