File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -417,24 +417,15 @@ async def _inner_fetch(
417417 form_data = object_to_array (form )
418418 elif multipart :
419419 multipart_data = []
420- if isinstance (multipart , FormData ):
421- for fd_name , fd_value in multipart ._fields :
422- multipart_data .append (
423- await _form_data_field_to_form_field (fd_name , fd_value )
424- )
425- else :
426- # Convert file-like values to ServerFilePayload structs.
427- for name , value in multipart .items ():
428- if is_file_payload (value ):
429- payload = cast (FilePayload , value )
430- assert isinstance (
431- payload ["buffer" ], bytes
432- ), f"Unexpected buffer type of 'data.{ name } '"
433- multipart_data .append (
434- FormField (name = name , file = file_payload_to_json (payload ))
435- )
436- elif isinstance (value , str ):
437- multipart_data .append (FormField (name = name , value = value ))
420+ fields = (
421+ multipart ._fields
422+ if isinstance (multipart , FormData )
423+ else multipart .items ()
424+ )
425+ for name , value in fields :
426+ multipart_data .append (
427+ await _form_data_field_to_form_field (name , value )
428+ )
438429 if (
439430 post_data_buffer is None
440431 and json_data is None
Original file line number Diff line number Diff line change @@ -345,6 +345,9 @@ async def test_should_support_multipart_form_data(
345345 multipart = {
346346 "firstName" : "John" ,
347347 "lastName" : "Doe" ,
348+ "age" : 30 ,
349+ "score" : 42.5 ,
350+ "active" : True ,
348351 "file" : file ,
349352 },
350353 ),
@@ -358,6 +361,9 @@ async def test_should_support_multipart_form_data(
358361 )
359362 assert request .args [b"firstName" ] == [b"John" ]
360363 assert request .args [b"lastName" ] == [b"Doe" ]
364+ assert request .args [b"age" ] == [b"30" ]
365+ assert request .args [b"score" ] == [b"42.5" ]
366+ assert request .args [b"active" ] == [b"True" ]
361367 assert request .args [b"file" ][0 ] == file ["buffer" ]
362368
363369
Original file line number Diff line number Diff line change @@ -269,6 +269,9 @@ def test_should_support_multipart_form_data(
269269 multipart = {
270270 "firstName" : "John" ,
271271 "lastName" : "Doe" ,
272+ "age" : 30 ,
273+ "score" : 42.5 ,
274+ "active" : True ,
272275 "file" : file ,
273276 },
274277 )
@@ -281,6 +284,9 @@ def test_should_support_multipart_form_data(
281284 )
282285 assert server_req .value .args [b"firstName" ] == [b"John" ]
283286 assert server_req .value .args [b"lastName" ] == [b"Doe" ]
287+ assert server_req .value .args [b"age" ] == [b"30" ]
288+ assert server_req .value .args [b"score" ] == [b"42.5" ]
289+ assert server_req .value .args [b"active" ] == [b"True" ]
284290 assert server_req .value .args [b"file" ][0 ] == file ["buffer" ]
285291
286292
You can’t perform that action at this time.
0 commit comments