diff options
author | Alexandre Flament <alex@al-f.net> | 2021-09-28 15:26:34 +0200 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2021-09-28 19:28:12 +0200 |
commit | 29893cf816ab7dccaa68697d5600326b82606972 (patch) | |
tree | f99c4d26740560e9e20ac693e6a9588afc720ab4 /searx/network/client.py | |
parent | 2eab89b4ca12a404390690210f885664fa26c173 (diff) | |
download | searxng-29893cf816ab7dccaa68697d5600326b82606972.tar.gz searxng-29893cf816ab7dccaa68697d5600326b82606972.zip |
[fix] searx.network.stream: fix memory leak
Diffstat (limited to 'searx/network/client.py')
-rw-r--r-- | searx/network/client.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/searx/network/client.py b/searx/network/client.py index 925c0fdd3..a6cec352d 100644 --- a/searx/network/client.py +++ b/searx/network/client.py @@ -6,6 +6,7 @@ import asyncio import logging import threading +import anyio import httpcore import httpx from httpx_socks import AsyncProxyTransport @@ -102,6 +103,9 @@ class AsyncProxyTransportFixed(AsyncProxyTransport): # then each new request creates a new stream and raise the same WriteError await close_connections_for_url(self, url) raise e + except anyio.ClosedResourceError as e: + await close_connections_for_url(self, url) + raise httpx.CloseError from e except httpx.RemoteProtocolError as e: # in case of httpx.RemoteProtocolError: Server disconnected await close_connections_for_url(self, url) @@ -130,6 +134,9 @@ class AsyncHTTPTransportFixed(httpx.AsyncHTTPTransport): # then each new request creates a new stream and raise the same WriteError await close_connections_for_url(self._pool, url) raise e + except anyio.ClosedResourceError as e: + await close_connections_for_url(self._pool, url) + raise httpx.CloseError from e except httpx.RemoteProtocolError as e: # in case of httpx.RemoteProtocolError: Server disconnected await close_connections_for_url(self._pool, url) |