🐛 Fix: httpx proxy 与 aiohttp timeout 参数新版本修改 (#3152)

This commit is contained in:
Ju4tCode
2024-12-02 15:36:44 +08:00
committed by GitHub
parent 6df8d5b254
commit 9fed938de1
6 changed files with 23 additions and 21 deletions

View File

@ -90,9 +90,7 @@ class Session(HTTPClientSession):
@override
async def request(self, setup: Request) -> Response:
if self._params:
params = self._params.copy()
params.update(setup.url.query)
url = setup.url.with_query(params)
url = setup.url.with_query({**self._params, **setup.url.query})
else:
url = setup.url
@ -172,11 +170,13 @@ class Mixin(HTTPClientMixin, WebSocketClientMixin):
else:
raise RuntimeError(f"Unsupported HTTP version: {setup.version}")
timeout = aiohttp.ClientWSTimeout(ws_close=setup.timeout or 10.0) # type: ignore
async with aiohttp.ClientSession(version=version, trust_env=True) as session:
async with session.ws_connect(
setup.url,
method=setup.method,
timeout=setup.timeout or 10, # type: ignore
timeout=timeout,
headers=setup.headers,
proxy=setup.proxy,
) as ws:

View File

@ -82,6 +82,8 @@ class Session(HTTPClientSession):
data=setup.data,
files=setup.files,
json=setup.json,
# ensure the params priority
params=setup.url.raw_query_string,
headers=tuple(setup.headers.items()),
cookies=setup.cookies.jar,
timeout=setup.timeout,
@ -102,7 +104,7 @@ class Session(HTTPClientSession):
headers=self._headers,
cookies=self._cookies.jar,
http2=self._version == HTTPVersion.H2,
proxies=self._proxy,
proxy=self._proxy,
follow_redirects=True,
)
await self._client.__aenter__()