@@ -11,57 +11,34 @@ class HttpClient():
1111 Default implementation to call all REST API's
1212 """
1313
14- def __init__ (self ):
15- pass
14+ def request (self , method , url , maxretries = None , ** kwargs ):
15+ """Makes a call to the API.
1616
17- @ staticmethod
18- def __get_session ( max_retries ):
17+ All **kwargs are passed verbatimm to ``requests.request``.
18+ """
1919 retry_strategy = Retry (
20- total = max_retries ,
20+ total = maxretries ,
2121 status_forcelist = [429 , 500 , 502 , 503 , 504 ]
2222 )
2323 http = requests .Session ()
2424 http .mount ("https://" , HTTPAdapter (max_retries = retry_strategy ))
25- return http
26-
27- def get (self , url , headers , params = None , timeout = None , maxretries = None ): #pylint: disable=missing-function-docstring, too-many-arguments
28- with self .__get_session (maxretries ) as session :
29- api_result = session .get (url , params = params , headers = headers , timeout = timeout )
25+ with http as session :
26+ api_result = session .request (method , url , ** kwargs )
3027 response = {
3128 "status" : api_result .status_code ,
3229 "response" : api_result .json ()
3330 }
3431
3532 return response
3633
37- def post (self , url , headers , data = None , params = None , timeout = None , maxretries = None ): #pylint: disable=missing-function-docstring, too-many-arguments
38- with self .__get_session (maxretries ) as session :
39- api_result = session .post (url , params = params , data = data ,
40- headers = headers , timeout = timeout )
41- response = {
42- "status" : api_result .status_code ,
43- "response" : api_result .json ()
44- }
45-
46- return response
47-
48- def put (self , url , headers , data = None , params = None , timeout = None , maxretries = None ): #pylint: disable=missing-function-docstring, too-many-arguments
49- with self .__get_session (maxretries ) as session :
50- api_result = session .put (url , params = params , data = data ,
51- headers = headers , timeout = timeout )
52- response = {
53- "status" : api_result .status_code ,
54- "response" : api_result .json ()
55- }
34+ def get (self , url , headers , params = None , timeout = None , maxretries = None ): # pylint: disable=missing-function-docstring, too-many-arguments
35+ return self .request ("GET" , url = url , headers = headers , params = params , timeout = timeout , maxretries = maxretries )
5636
57- return response
37+ def post (self , url , headers , data = None , params = None , timeout = None , maxretries = None ): # pylint: disable=missing-function-docstring, too-many-arguments
38+ return self .request ("POST" , url = url , headers = headers , data = data , params = params , timeout = timeout , maxretries = maxretries )
5839
59- def delete (self , url , headers , params = None , timeout = None , maxretries = None ): #pylint: disable=missing-function-docstring, too-many-arguments
60- with self .__get_session (maxretries ) as session :
61- api_result = session .delete (url , params = params , headers = headers , timeout = timeout )
62- response = {
63- "status" : api_result .status_code ,
64- "response" : api_result .json ()
65- }
40+ def put (self , url , headers , data = None , params = None , timeout = None , maxretries = None ): # pylint: disable=missing-function-docstring, too-many-arguments
41+ return self .request ("PUT" , url = url , headers = headers , data = data , params = params , timeout = timeout , maxretries = maxretries )
6642
67- return response
43+ def delete (self , url , headers , params = None , timeout = None , maxretries = None ): # pylint: disable=missing-function-docstring, too-many-arguments
44+ return self .request ("DELETE" , url = url , headers = headers , params = params , timeout = timeout , maxretries = maxretries )
0 commit comments