@@ -165,7 +165,7 @@ def _get_status_url(self):
165165 def tenant (self , tenant_id ):
166166 self .tenant_id = tenant_id
167167
168- def _http (self , url , method , data = None , decoder = None ):
168+ def _http (self , url , method , data = None , decoder = None , parse_json = True ):
169169 res = None
170170 req = Request (url = url )
171171 req .add_header ('Content-Type' , 'application/json' )
@@ -192,12 +192,13 @@ def _http(self, url, method, data=None, decoder=None):
192192 try :
193193 req .get_method = lambda : method
194194 res = urlopen (req , context = self .context )
195-
196- if res .getcode () == 200 :
197- data = json .load (reader (res ), cls = decoder )
198- elif res .getcode () == 204 :
199- data = {}
200-
195+ if parse_json :
196+ if res .getcode () == 200 :
197+ data = json .load (reader (res ), cls = decoder )
198+ elif res .getcode () == 204 :
199+ data = {}
200+ else :
201+ data = reader (res ).read ()
201202 return data
202203
203204 except Exception as e :
@@ -207,8 +208,8 @@ def _http(self, url, method, data=None, decoder=None):
207208 if res :
208209 res .close ()
209210
210- def _put (self , url , data ):
211- return self ._http (url , 'PUT' , data )
211+ def _put (self , url , data , parse_json = True ):
212+ return self ._http (url , 'PUT' , data , parse_json = parse_json )
212213
213214 def _delete (self , url ):
214215 return self ._http (url , 'DELETE' )
0 commit comments