From 665a400f0438492076e6b6c48106558d131a1cae Mon Sep 17 00:00:00 2001 From: Haowei Wen Date: Wed, 26 Aug 2020 18:23:07 +0800 Subject: [PATCH] httpd: fix reverse proxy can't handle 204 properly --- .../yushi/authlibinjector/httpd/URLProcessor.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/moe/yushi/authlibinjector/httpd/URLProcessor.java b/src/main/java/moe/yushi/authlibinjector/httpd/URLProcessor.java index f697eb8..9fe7dd1 100644 --- a/src/main/java/moe/yushi/authlibinjector/httpd/URLProcessor.java +++ b/src/main/java/moe/yushi/authlibinjector/httpd/URLProcessor.java @@ -218,11 +218,17 @@ public class URLProcessor { break; } } + Response response; - if (contentLength != -1) { - response = Response.newFixedLength(status, null, upstreamIn, contentLength); + if (contentLength == -1) { + if (conn.getHeaderField("transfer-encoding") == null) { + // no content + response = Response.newFixedLength(status, null, upstreamIn, 0); + } else { + response = Response.newChunked(status, null, upstreamIn); + } } else { - response = Response.newChunked(status, null, upstreamIn); + response = Response.newFixedLength(status, null, upstreamIn, contentLength); } responseHeaders.forEach((name, values) -> values.forEach(value -> response.addHeader(name, value)));