summaryrefslogtreecommitdiff
path: root/searx/network/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/network/client.py')
-rw-r--r--searx/network/client.py7
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)