@@ -84,6 +84,18 @@ def post(self, args):
8484 check_token = args [self .ARG_CHECK_TOKEN ] if self .ARG_CHECK_TOKEN in args else True
8585 include_token_header = args [self .ARG_INCLUDE_TOKEN_HEADER ] if self .ARG_INCLUDE_TOKEN_HEADER in args else True
8686
87+ return self ._post (url = url , data = data , check_token = check_token , include_token_header = include_token_header )
88+ def put (self , args ):
89+ """
90+
91+ :param dict args:
92+ :rtype: tuple[Any, Any]
93+ """
94+ url = args [self .ARG_URL ] if self .ARG_URL in args else None
95+ data = args [self .ARG_DATA ] if self .ARG_DATA in args else None
96+ check_token = args [self .ARG_CHECK_TOKEN ] if self .ARG_CHECK_TOKEN in args else True
97+ include_token_header = args [self .ARG_INCLUDE_TOKEN_HEADER ] if self .ARG_INCLUDE_TOKEN_HEADER in args else True
98+
8799 return self ._post (url = url , data = data , check_token = check_token , include_token_header = include_token_header )
88100
89101 def _get (self , url = None , params = None , check_token = True , include_token_header = True ):
@@ -121,6 +133,27 @@ def _post(self, url=None, data=None, check_token=True, include_token_header=True
121133 raise ClientBadData
122134 return self .process_server_response (r )
123135
136+ def _put (self , url , data = None , check_token = True , include_token_header = True ):
137+ if check_token :
138+ self ._check_token ()
139+
140+ headers = {
141+ 'content-type' : MIME_JSON ,
142+ 'cache-control' : "no-cache"
143+ }
144+ if include_token_header :
145+ token = self ._get_auth_header_value (self ._auth .access_token )
146+ headers [HEADER_AUTHORIZATION ] = token
147+
148+ if isinstance (data , dict ):
149+ log .debug (f"POST Request\n \t URL: { self ._base_url + url } \n \t Headers:{ headers } \n \t Body:{ data } \n " )
150+ r = requests .put (self ._base_url + url , headers = headers , json = data ,
151+ ** self ._http_request_kwargs ) # nosec B113
152+ else :
153+ log .error (f"Unexpected client data type: { type (data )} for { url } " )
154+ raise ClientBadData
155+ return self .process_server_response (r )
156+
124157 def _check_token (self ):
125158 if not self ._auth .access_token :
126159 self .get_access_token ()
0 commit comments