Skip to content

Commit 6dc95bc

Browse files
GujiasshPangjiping
authored andcommitted
fix(server): filter hop-by-hop proxy headers
1 parent e99671a commit 6dc95bc

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

server/src/api/lifecycle.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,10 +465,24 @@ async def proxy_sandbox_endpoint_request(request: Request, sandbox_id: str, port
465465

466466
resp = await client.send(req, stream=True)
467467

468+
hop_by_hop = set(HOP_BY_HOP_HEADERS)
469+
connection_header = resp.headers.get("connection")
470+
if connection_header:
471+
hop_by_hop.update(
472+
header.strip().lower()
473+
for header in connection_header.split(",")
474+
if header.strip()
475+
)
476+
response_headers = {
477+
key: value
478+
for key, value in resp.headers.items()
479+
if key.lower() not in hop_by_hop
480+
}
481+
468482
return StreamingResponse(
469483
content=resp.aiter_bytes(),
470484
status_code=resp.status_code,
471-
headers=resp.headers,
485+
headers=response_headers,
472486
)
473487
except httpx.ConnectError as e:
474488
raise HTTPException(

0 commit comments

Comments
 (0)