diff --git a/core/httpy.py b/core/httpy.py index c8d7cec..dfb6be2 100644 --- a/core/httpy.py +++ b/core/httpy.py @@ -141,18 +141,28 @@ class IpFilterWrapperTransport(httpx.BaseTransport, httpx.AsyncBaseTransport): # misconfigured or malicious def handle_request(self, request: httpx.Request) -> httpx.Response: - self._check_addrinfo( - request, socket.getaddrinfo(*self._request_to_addrinfo(request)) - ) + try: + self._check_addrinfo( + request, socket.getaddrinfo(*self._request_to_addrinfo(request)) + ) + except socket.gaierror: + # Some kind of look up error. Gonna assume safe and let farther + # down the stack handle it. + pass return self.wrappee.handle_request(request) async def handle_async_request(self, request: httpx.Request) -> httpx.Response: - self._check_addrinfo( - request, - await asyncio.get_running_loop().getaddrinfo( - *self._request_to_addrinfo(request) - ), - ) + try: + self._check_addrinfo( + request, + await asyncio.get_running_loop().getaddrinfo( + *self._request_to_addrinfo(request) + ), + ) + except socket.gaierror: + # Some kind of look up error. Gonna assume safe and let farther + # down the stack handle it. + pass return await self.wrappee.handle_await_request(request) diff --git a/core/signatures.py b/core/signatures.py index b24d157..59a203f 100644 --- a/core/signatures.py +++ b/core/signatures.py @@ -76,6 +76,7 @@ class HttpSignature: "(request-target)", "content-type", "content-length", + "digest", } @classmethod