Skip to content

Commit 3864354

Browse files
committed
fix: filtered_headers of content-length
1 parent e37b236 commit 3864354

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

veadk/toolkits/apps/reverse_mcp/server_with_reverse_mcp.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,27 @@ async def mcp_proxy(path: str, request: Request):
377377

378378
logger.debug(f"[Reverse mcp proxy] Response from local: {resp}")
379379

380+
# Filter hop-by-hop headers to avoid Content-Length mismatch
381+
headers = resp["payload"]["headers"]
382+
hop_by_hop_headers = {
383+
"content-length",
384+
"transfer-encoding",
385+
"connection",
386+
"keep-alive",
387+
"proxy-authenticate",
388+
"proxy-authorization",
389+
"te",
390+
"trailers",
391+
"upgrade",
392+
}
393+
filtered_headers = {
394+
k: v for k, v in headers.items() if k.lower() not in hop_by_hop_headers
395+
}
396+
380397
return Response(
381398
content=resp["payload"]["body"], # type: ignore
382399
status_code=resp["payload"]["status"], # type: ignore
383-
headers=resp["payload"]["headers"], # type: ignore
400+
headers=filtered_headers, # type: ignore
384401
)
385402

386403
def run(self):

0 commit comments

Comments
 (0)