mirror of
https://github.com/NoCLin/LightMirrors
synced 2025-06-17 09:25:25 +08:00
Merge pull request #10 from NoCLin/fix/zero-content-length
fix: report content length as is for HEAD, accept more headers
This commit is contained in:
commit
e6e2eae600
@ -67,7 +67,7 @@ async def direct_proxy(
|
||||
async with httpx.AsyncClient() as client:
|
||||
req_headers = request.headers.mutablecopy()
|
||||
for key in req_headers.keys():
|
||||
if key not in ["user-agent", "accept", "authorization"]:
|
||||
if key in ["host"]:
|
||||
del req_headers[key]
|
||||
|
||||
httpx_req: HttpxRequest = client.build_request(
|
||||
@ -79,18 +79,16 @@ async def direct_proxy(
|
||||
httpx_req = await pre_process_request(request, httpx_req, pre_process)
|
||||
|
||||
upstream_response = await client.send(
|
||||
httpx_req, follow_redirects=follow_redirects
|
||||
httpx_req,
|
||||
follow_redirects=follow_redirects,
|
||||
)
|
||||
|
||||
res_headers = upstream_response.headers
|
||||
res_headers = {key: value for key, value in upstream_response.headers.items()}
|
||||
|
||||
if request.method != "HEAD":
|
||||
res_headers.pop("content-length", None)
|
||||
res_headers.pop("content-encoding", None)
|
||||
|
||||
logger.info(
|
||||
f"proxy {request.url} to {target_url} {upstream_response.status_code}"
|
||||
)
|
||||
|
||||
content = upstream_response.content
|
||||
response = Response(
|
||||
headers=res_headers,
|
||||
|
Loading…
x
Reference in New Issue
Block a user