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,12 +218,18 @@ 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.newFixedLength(status, null, upstreamIn, contentLength);
}
responseHeaders.forEach((name, values) -> values.forEach(value -> response.addHeader(name, value)));
return response;