Skip to content

Commit eb94cf6

Browse files
committed
feat: 调整http反向代理针对http chunked请求体的处理逻辑
(cherry picked from commit ff61127)
1 parent 2e30e4b commit eb94cf6

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/main/java/top/meethigher/proxy/http/ReverseHttpProxy.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -645,12 +645,9 @@ protected Handler<AsyncResult<HttpClientRequest>> connectHandler(RoutingContext
645645
copyRequestHeaders(ctx, serverReq, clientReq);
646646

647647
if ((boolean) getContextData(ctx, INTERNAL_CLIENT_CONNECTION_OPEN) && (boolean) getContextData(ctx, INTERNAL_SERVER_CONNECTION_OPEN)) {
648-
// 若存在请求体,则将请求体复制。使用流式复制,避免占用大量内存
649-
if (clientReq.headers().contains("Content-Length") || clientReq.headers().contains("Transfer-Encoding")) {
650-
clientReq.send(serverReq).onComplete(sendRequestHandler(ctx, serverReq, serverResp, proxyUrl));
651-
} else {
652-
clientReq.send().onComplete(sendRequestHandler(ctx, serverReq, serverResp, proxyUrl));
653-
}
648+
// bug: https://github.com/meethigher/tcp-reverse-proxy/issues/13
649+
// 解决办法: 不管是否有请求体,都直接send pipeto。
650+
clientReq.send(serverReq).onComplete(sendRequestHandler(ctx, serverReq, serverResp, proxyUrl));
654651
}
655652
} else {
656653
badGateway(ctx, serverResp);

0 commit comments

Comments
 (0)