[log] warning with URL in case of 'raise_for_httperror'
In order to be able to implement error handling, it is necessary to know which URL triggered the exception / the URL has not yet been logged. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
		
							parent
							
								
									b8f1a329d3
								
							
						
					
					
						commit
						7b4fcb4bff
					
				@ -233,8 +233,7 @@ class Network:
 | 
				
			|||||||
            del kwargs['raise_for_httperror']
 | 
					            del kwargs['raise_for_httperror']
 | 
				
			||||||
        return do_raise_for_httperror
 | 
					        return do_raise_for_httperror
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    def patch_response(self, response, do_raise_for_httperror):
 | 
				
			||||||
    def patch_response(response, do_raise_for_httperror):
 | 
					 | 
				
			||||||
        if isinstance(response, httpx.Response):
 | 
					        if isinstance(response, httpx.Response):
 | 
				
			||||||
            # requests compatibility (response is not streamed)
 | 
					            # requests compatibility (response is not streamed)
 | 
				
			||||||
            # see also https://www.python-httpx.org/compatibility/#checking-for-4xx5xx-responses
 | 
					            # see also https://www.python-httpx.org/compatibility/#checking-for-4xx5xx-responses
 | 
				
			||||||
@ -242,8 +241,11 @@ class Network:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            # raise an exception
 | 
					            # raise an exception
 | 
				
			||||||
            if do_raise_for_httperror:
 | 
					            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
 | 
					        return response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def is_valid_response(self, response):
 | 
					    def is_valid_response(self, response):
 | 
				
			||||||
@ -269,7 +271,7 @@ class Network:
 | 
				
			|||||||
                else:
 | 
					                else:
 | 
				
			||||||
                    response = await client.request(method, url, **kwargs)
 | 
					                    response = await client.request(method, url, **kwargs)
 | 
				
			||||||
                if self.is_valid_response(response) or retries <= 0:
 | 
					                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:
 | 
					            except httpx.RemoteProtocolError as e:
 | 
				
			||||||
                if not was_disconnected:
 | 
					                if not was_disconnected:
 | 
				
			||||||
                    # the server has closed the connection:
 | 
					                    # the server has closed the connection:
 | 
				
			||||||
 | 
				
			|||||||
@ -137,9 +137,6 @@ class OnlineProcessor(EngineProcessor):
 | 
				
			|||||||
        self.engine.request(query, params)
 | 
					        self.engine.request(query, params)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # ignoring empty urls
 | 
					        # ignoring empty urls
 | 
				
			||||||
        if params['url'] is None:
 | 
					 | 
				
			||||||
            return None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if not params['url']:
 | 
					        if not params['url']:
 | 
				
			||||||
            return None
 | 
					            return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user