diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d8e2371..9bb7a45c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased +- Fix inner transport and connection pool instances closing. (#147) - Improved error message when the storage type is incorrect. (#138) ## 0.0.20 (12/12/2023) diff --git a/hishel/_async/_pool.py b/hishel/_async/_pool.py index d0ca4916..6f6bbdcf 100644 --- a/hishel/_async/_pool.py +++ b/hishel/_async/_pool.py @@ -135,6 +135,9 @@ async def handle_async_request(self, request: Request) -> Response: async def aclose(self) -> None: await self._storage.aclose() + if hasattr(self._pool, "aclose"): # pragma: no cover + await self._pool.aclose() + async def __aenter__(self: T) -> T: return self diff --git a/hishel/_async/_transports.py b/hishel/_async/_transports.py index 76112227..0edb10dd 100644 --- a/hishel/_async/_transports.py +++ b/hishel/_async/_transports.py @@ -235,6 +235,7 @@ async def handle_async_request(self, request: Request) -> Response: async def aclose(self) -> None: await self._storage.aclose() + await self._transport.aclose() async def __aenter__(self) -> "Self": return self diff --git a/hishel/_sync/_pool.py b/hishel/_sync/_pool.py index c697b7d5..543a0dba 100644 --- a/hishel/_sync/_pool.py +++ b/hishel/_sync/_pool.py @@ -135,6 +135,9 @@ def handle_request(self, request: Request) -> Response: def close(self) -> None: self._storage.close() + if hasattr(self._pool, "close"): # pragma: no cover + self._pool.close() + def __enter__(self: T) -> T: return self diff --git a/hishel/_sync/_transports.py b/hishel/_sync/_transports.py index 215e03e4..2ee49873 100644 --- a/hishel/_sync/_transports.py +++ b/hishel/_sync/_transports.py @@ -235,6 +235,7 @@ def handle_request(self, request: Request) -> Response: def close(self) -> None: self._storage.close() + self._transport.close() def __enter__(self) -> "Self": return self