diff --git a/modules/apihelper/client/base/httpxrequest.py b/modules/apihelper/client/base/httpxrequest.py index fc62ddd..022c1d4 100644 --- a/modules/apihelper/client/base/httpxrequest.py +++ b/modules/apihelper/client/base/httpxrequest.py @@ -5,11 +5,18 @@ from typing import Optional, Type import httpx __all__ = ("HTTPXRequest",) +timeout = httpx.Timeout( + timeout=120.0, + read=120.0, + write=120.0, + connect=120.0, + pool=120.0, +) class HTTPXRequest(AbstractAsyncContextManager): def __init__(self, *args, headers=None, **kwargs): - self._client = httpx.AsyncClient(headers=headers, timeout=httpx.Timeout(120.0), *args, **kwargs) + self._client = httpx.AsyncClient(headers=headers, timeout=timeout, *args, **kwargs) async def __aenter__(self): try: @@ -20,13 +27,14 @@ class HTTPXRequest(AbstractAsyncContextManager): raise exc async def __aexit__( - self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[TracebackType] + self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType] ) -> None: await self.initialize() async def initialize(self): if self._client.is_closed: - self._client = httpx.AsyncClient() + self._client = httpx.AsyncClient(timeout=timeout) async def shutdown(self): if self._client.is_closed: diff --git a/modules/apihelper/client/components/hyperion.py b/modules/apihelper/client/components/hyperion.py index 3031324..3c8d7e6 100644 --- a/modules/apihelper/client/components/hyperion.py +++ b/modules/apihelper/client/components/hyperion.py @@ -123,7 +123,7 @@ class Hyperion: _, file_extension = os.path.splitext(filename) is_image = bool(file_extension in ".jpg" or file_extension in ".png") response = await self.client.get( - url, params=self.get_images_params(resize=2000) if is_image else None, timeout=10, de_json=False + url, params=self.get_images_params(resize=2000) if is_image else None, de_json=False ) return ArtworkImage( art_id=art_id, page=page, file_name=filename, file_extension=url.split(".")[-1], data=response.content