httpd: fix reverse proxy can't handle 204 properly

This commit is contained in:
Haowei Wen 2020-08-26 18:23:07 +08:00
parent 86feaa3273
commit 665a400f04
No known key found for this signature in database
GPG Key ID: 5BC167F73EA558E4

View File

@ -218,11 +218,17 @@ public class URLProcessor {
break; break;
} }
} }
Response response; Response response;
if (contentLength != -1) { if (contentLength == -1) {
response = Response.newFixedLength(status, null, upstreamIn, contentLength); if (conn.getHeaderField("transfer-encoding") == null) {
// no content
response = Response.newFixedLength(status, null, upstreamIn, 0);
} else {
response = Response.newChunked(status, null, upstreamIn);
}
} else { } 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))); responseHeaders.forEach((name, values) -> values.forEach(value -> response.addHeader(name, value)));