@@ -28,7 +28,7 @@ def __init__(
2828 headers : Dict [str , str ] = None ,
2929 data : Union [bytes , None ] = None ,
3030 stream : Union [bool , None ] = False ,
31- files : Union [Dict [str , Any ], None ] = None , # Change from 'file' to 'files'
31+ files : Union [Dict [str , Any ], None ] = None ,
3232 ):
3333 self .path = path
3434 self .params = params
@@ -39,7 +39,7 @@ def __init__(
3939 self .headers = headers or {"Content-Type" : "application/json" }
4040 self .disable_request_logging = config .get ("disable_request_logging" )
4141 self .stream = stream
42- self .files = files # Change from 'file' to 'files'
42+ self .files = files
4343
4444 def perform (self ) -> Union [T , None ]:
4545 """Is the main function that makes the HTTP request
@@ -93,7 +93,10 @@ def perform_file(self) -> Union[T, None]:
9393 # handle error in case there is a statusCode attr present
9494 # and status != 200 and response is a json.
9595
96- if "application/json" not in resp .headers ["content-type" ] and resp .status_code != 200 :
96+ if (
97+ "application/json" not in resp .headers ["content-type" ]
98+ and resp .status_code != 200
99+ ):
97100 raise_for_code_and_type (
98101 code = 500 ,
99102 message = "Failed to parse JigsawStack API response. Please try again." ,
@@ -253,7 +256,7 @@ def make_request(self, url: str) -> requests.Response:
253256 params = self .params
254257 verb = self .verb
255258 data = self .data
256- files = self .files # Change from 'file' to 'files'
259+ files = self .files
257260
258261 _requestParams = None
259262 _json = None
@@ -262,23 +265,14 @@ def make_request(self, url: str) -> requests.Response:
262265
263266 if verb .lower () in ["get" , "delete" ]:
264267 _requestParams = params
265- elif files :
266- # For multipart requests
268+ elif files : # multipart request
267269 _files = files
268- # Add params as 'body' field in multipart form (JSON stringified)
269270 if params and isinstance (params , dict ):
270- # Convert params to JSON string and add as 'body' field
271271 _data = {"body" : json .dumps (params )}
272- elif data :
273- # For binary data without multipart
274- _data = data
275- # Pass params as query parameters for binary uploads
276- if params and isinstance (params , dict ):
277- _requestParams = params
278- else :
279- # For JSON requests
280- _json = params
272+ headers .pop ("Content-Type" , None ) # let requests set it for multipart
281273
274+ else : # pure JSON request
275+ _json = params
282276 try :
283277 return requests .request (
284278 verb ,
0 commit comments