diff options
Diffstat (limited to 'searx/network/network.py')
-rw-r--r-- | searx/network/network.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/searx/network/network.py b/searx/network/network.py index 453c8d2fc..ff02d447a 100644 --- a/searx/network/network.py +++ b/searx/network/network.py @@ -233,8 +233,7 @@ class Network: del kwargs['raise_for_httperror'] return do_raise_for_httperror - @staticmethod - def patch_response(response, do_raise_for_httperror): + def patch_response(self, response, do_raise_for_httperror): if isinstance(response, httpx.Response): # requests compatibility (response is not streamed) # see also https://www.python-httpx.org/compatibility/#checking-for-4xx5xx-responses @@ -242,8 +241,11 @@ class Network: # raise an exception if do_raise_for_httperror: - raise_for_httperror(response) - + try: + raise_for_httperror(response) + except: + self._logger.warning(f"HTTP Request failed: {response.request.method} {response.request.url}") + raise return response def is_valid_response(self, response): @@ -269,7 +271,7 @@ class Network: else: response = await client.request(method, url, **kwargs) if self.is_valid_response(response) or retries <= 0: - return Network.patch_response(response, do_raise_for_httperror) + return self.patch_response(response, do_raise_for_httperror) except httpx.RemoteProtocolError as e: if not was_disconnected: # the server has closed the connection: |