This repository was archived by the owner on Mar 30, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -2,10 +2,17 @@ class APIKeyNotSetError(Exception):
22 pass
33
44
5+ class APIBaseError (Exception ):
6+ pass
7+
8+
59class HypervectorError (Exception ):
610 def __init__ (self , response = None ):
711 self .response = response
8- self .status_code = response .status_code
12+ if response :
13+ self .status_code = response .status_code
14+ else :
15+ self .status_code = None
916
1017
1118
Original file line number Diff line number Diff line change 11import requests
22import hypervector
3- from hypervector .errors import APIKeyNotSetError , HypervectorError
3+ from hypervector .errors import APIKeyNotSetError , HypervectorError , APIBaseError
44
55
66class APIResource :
@@ -19,15 +19,23 @@ def get_headers(cls):
1919 @classmethod
2020 def get (cls , uuid ):
2121 endpoint = f'{ hypervector .API_BASE } /{ cls .resource_name } /{ uuid } '
22- response = requests .get (endpoint , headers = cls .get_headers ())
22+ try :
23+ response = requests .get (endpoint , headers = cls .get_headers ())
24+ except requests .ConnectionError :
25+ raise APIBaseError
26+
2327 if response .ok :
2428 return cls .from_get (response )
2529 else :
26- raise HypervectorError ( response )
30+ raise HypervectorError
2731
2832 @classmethod
2933 def request (cls , endpoint , method = requests .get ):
30- response = method (url = endpoint , headers = cls .get_headers ())
34+ try :
35+ response = method (url = endpoint , headers = cls .get_headers ())
36+ except requests .ConnectionError :
37+ raise APIBaseError
38+
3139 if response .ok :
3240 return response .json ()
3341 else :
You can’t perform that action at this time.
0 commit comments