8
8
9
9
MAIN_URL = os .environ .get ('EMNIFY_SDK_API_ENDPOINT_URL' , 'https://cdn.emnify.net/api' )
10
10
11
- MAX_PAGES_IN_PAGINATOR = 1000 # with regular page size 1000...2000 gives max 2_000_000 records
11
+ MAX_PAGES_IN_PAGINATOR = 1000 # with regular page size 1000...2000 gives max 2_000_000 records
12
+
12
13
13
14
class BaseApiManager :
14
15
"""
@@ -18,8 +19,10 @@ class BaseApiManager:
18
19
response_handlers = {
19
20
200 : 'return_unwrapped' ,
20
21
201 : 'return_success' ,
21
- 401 : 'unauthorised' ,
22
22
204 : 'return_success' ,
23
+ 400 : 'process_exception' ,
24
+ 401 : 'unauthorised' ,
25
+ 404 : 'process_exception' ,
23
26
409 : 'process_exception' ,
24
27
422 : 'process_exception'
25
28
}
@@ -47,7 +50,8 @@ def process_exception(self, response: requests.Response, client, data: dict = No
47
50
raise emnify_errors .ValidationErrorException (f'{ response .json ()} ' )
48
51
49
52
def return_paginator (
50
- self , response : requests .Response , client , data : dict = None , files = None , path_params : dict = None , query_params : dict = None
53
+ self , response : requests .Response , client , data : dict = None , files = None , path_params : dict = None ,
54
+ query_params : dict = None
51
55
) -> typing .Generator :
52
56
query_params = query_params or {}
53
57
page = query_params .get ('page' , 1 ) if query_params else 1
@@ -92,7 +96,7 @@ def call_api(self, client, data: dict = None, files=None, path_params: dict = No
92
96
"Unknown status code {status_code}" .format (status_code = response .status_code )
93
97
)
94
98
95
- return getattr (self , self .response_handlers [response .status_code ])\
99
+ return getattr (self , self .response_handlers [response .status_code ]) \
96
100
(response , client , data = data , files = files , query_params = query_params , path_params = path_params )
97
101
98
102
def make_get_request (self , main_url : str , method_name : str , headers : dict , params : str = None ):
@@ -101,10 +105,12 @@ def make_get_request(self, main_url: str, method_name: str, headers: dict, param
101
105
def make_post_request (self , main_url : str , method_name : str , headers : dict , params : dict = None , data : dict = None ):
102
106
return requests .post (self .resource_path (main_url , method_name ), headers = headers , json = data , params = params )
103
107
104
- def make_patch_request (self , main_url : str , method_name : str , headers : dict , params : dict = None , data : dict = None ):
108
+ def make_patch_request (self , main_url : str , method_name : str , headers : dict , params : dict = None ,
109
+ data : dict = None ):
105
110
return requests .patch (self .resource_path (main_url , method_name ), headers = headers , json = data , params = params )
106
111
107
- def make_delete_request (self , main_url : str , method_name : str , headers : dict , params : dict = None , data : dict = None ):
112
+ def make_delete_request (self , main_url : str , method_name : str , headers : dict , params : dict = None ,
113
+ data : dict = None ):
108
114
return requests .delete (self .resource_path (main_url , method_name ), headers = headers , json = data , params = params )
109
115
110
116
def make_put_request (self , main_url : str , method_name : str , headers : dict , params : dict = None , data : dict = None ):
@@ -158,11 +164,11 @@ class Authenticate(BaseApiManager):
158
164
request_url_prefix = emnify_constants .AuthenticateRequestsUrl .V1_AUTHENTICATE .value
159
165
request_method_name = emnify_constants .RequestsType .POST .value
160
166
161
- response_handlers = {
162
- 200 : 'return_unwrapped' ,
163
- 401 : 'unauthorised' ,
164
- 404 : 'unexpected_error'
165
- }
167
+ def __init__ ( self , * args , ** kwargs ):
168
+ super (). __init__ ( * args , ** kwargs )
169
+ self . response_handlers = self . response_handlers . copy () | {
170
+ 404 : 'unexpected_error'
171
+ }
166
172
167
173
def unauthorised (
168
174
self , response : requests .Response , client , data : dict = None , files = None , path_params : list = None , ** kwargs
0 commit comments