[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']
 | 
			
		||||
        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:
 | 
			
		||||
                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:
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user