From 8f19785275cad11ee1c0ca84580fe0b46087b2e0 Mon Sep 17 00:00:00 2001 From: Ju4tCode <42488585+yanyongyu@users.noreply.github.com> Date: Fri, 29 Dec 2023 08:07:22 +0000 Subject: [PATCH 1/3] Fix transport not closed --- hishel/_async/_transports.py | 1 + hishel/_sync/_transports.py | 1 + 2 files changed, 2 insertions(+) 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/_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 From da336429f4231339d42770b525b30cdcb9c60dfc Mon Sep 17 00:00:00 2001 From: Ju4tCode <42488585+yanyongyu@users.noreply.github.com> Date: Fri, 29 Dec 2023 08:42:26 +0000 Subject: [PATCH 2/3] Fix connection pool not closed --- hishel/_async/_pool.py | 3 +++ hishel/_sync/_pool.py | 3 +++ 2 files changed, 6 insertions(+) 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/_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 From 69269bc5621d8243063860909270311e5a9597c2 Mon Sep 17 00:00:00 2001 From: karpetrosyan Date: Fri, 29 Dec 2023 12:49:33 +0400 Subject: [PATCH 3/3] chanelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) 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)