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: diff --git a/searx/search/processors/online.py b/searx/search/processors/online.py index acc3792f5..778b4ac4d 100644 --- a/searx/search/processors/online.py +++ b/searx/search/processors/online.py @@ -137,9 +137,6 @@ class OnlineProcessor(EngineProcessor): self.engine.request(query, params) # ignoring empty urls - if params['url'] is None: - return None - if not params['url']: return None