From be4ab2fa16452b18b9daa4f0f27efbb01fc216df Mon Sep 17 00:00:00 2001 From: njannupreddy <51171518+njannupreddy@users.noreply.github.com> Date: Tue, 27 Jul 2021 11:42:36 -0400 Subject: [PATCH] Added separate exception for connect timeout error (#101) --- elemental/client.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/elemental/client.py b/elemental/client.py index c8677dd..7f83e8d 100644 --- a/elemental/client.py +++ b/elemental/client.py @@ -29,6 +29,11 @@ class NotFound(InvalidResponse): pass +class ConnectionTimeout(ElementalException): + """Exception raised by 'request' with invalid response""" + pass + + EventIdDict = TypedDict('EventIdDict', {'id': str}) EventStatusDict = TypedDict('EventStatusDict', {'origin_url': str, 'backup_url': Optional[str], 'status': str}) @@ -89,6 +94,8 @@ def send_request(self, http_method: str, url: str, headers: Dict[str, str], response = self.session.request( method=http_method, url=url, data=body, headers=headers, timeout=timeout) + except requests.exceptions.ConnectTimeout as e: + raise ConnectionTimeout(f"{http_method}: {url} failed\n{e}") except requests.exceptions.RequestException as e: raise InvalidRequest(f"{http_method}: {url} failed\n{e}") if response.status_code == 404: