@@ -30,37 +30,31 @@ def headers(self):
3030 headers ["Authorization" ] = f"Bearer { self .auth .access_token } "
3131 return headers
3232
33- def post (self , url , data , retries = 0 , ** kwargs ):
34- log .info (f"SDK:Posting resource to url: { url } " )
33+ def _request (self , method , url , retries , ** kwargs ):
3534 session = self .prepared_request_with_retries (retries )
36- result = session .post (
37- url , data = json .dumps (data ), headers = self .headers (), ** kwargs
38- )
39- result .raise_for_status ()
40- return result
35+ try :
36+ request_method = getattr (session , method )
37+ except AttributeError :
38+ raise ValueError (f"'{ method } ' is not a valid request method" )
39+ log .info (f"SDK:Making a { method .upper ()} request to URL: { url } " )
40+ response = request_method (url , headers = self .headers (), ** kwargs )
41+ response .raise_for_status ()
42+ return response
43+
44+ def post (self , url , data , retries = 0 , ** kwargs ):
45+ return self ._request ("post" , url , retries , data = json .dumps (data ), ** kwargs )
4146
4247 def put (self , url , data , retries = 0 , ** kwargs ):
43- log .info (f"SDK:Putting resource to url: { url } " )
44- session = self .prepared_request_with_retries (retries )
45- result = session .put (
46- url , data = json .dumps (data ), headers = self .headers (), ** kwargs
47- )
48- result .raise_for_status ()
49- return result
48+ return self ._request ("put" , url , retries , data = json .dumps (data ), ** kwargs )
49+
50+ def patch (self , url , data , retries = 0 , ** kwargs ):
51+ return self ._request ("patch" , url , retries , data = json .dumps (data ), ** kwargs )
5052
5153 def get (self , url , retries = 0 , ** kwargs ):
52- log .info (f"SDK:Getting resource from url: { url } " )
53- session = self .prepared_request_with_retries (retries )
54- result = session .get (url , headers = self .headers (), ** kwargs )
55- result .raise_for_status ()
56- return result
54+ return self ._request ("get" , url , retries , ** kwargs )
5755
5856 def delete (self , url , retries = 0 , ** kwargs ):
59- log .info (f"SDK:Deleting resource from url: { url } " )
60- session = self .prepared_request_with_retries (retries )
61- result = session .delete (url , headers = self .headers (), ** kwargs )
62- result .raise_for_status ()
63- return result
57+ return self ._request ("delete" , url , retries , ** kwargs )
6458
6559 @staticmethod
6660 def prepared_request_with_retries (retries ):
0 commit comments