|
@@ -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:
|