Skip to content

Commit e1890ae

Browse files
Add default_to_mulitpart parameter (#9335) (#9337)
Co-authored-by: Yevhenii Hyzyla <hyzyla@gmail.com> (cherry picked from commit d9a9368)
1 parent a62f6a3 commit e1890ae

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

CHANGES/9335.feature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added ``default_to_multipart`` parameter to ``FormData``.

aiohttp/formdata.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ def __init__(
2323
fields: Iterable[Any] = (),
2424
quote_fields: bool = True,
2525
charset: Optional[str] = None,
26+
*,
27+
default_to_multipart: bool = False,
2628
) -> None:
2729
self._writer = multipart.MultipartWriter("form-data")
2830
self._fields: List[Any] = []
29-
self._is_multipart = False
31+
self._is_multipart = default_to_multipart
3032
self._is_processed = False
3133
self._quote_fields = quote_fields
3234
self._charset = charset

tests/test_formdata.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,22 @@ async def write(chunk):
2222
return writer
2323

2424

25-
def test_formdata_multipart(buf, writer) -> None:
26-
form = FormData()
25+
def test_formdata_multipart(buf: bytearray) -> None:
26+
form = FormData(default_to_multipart=False)
2727
assert not form.is_multipart
2828

2929
form.add_field("test", b"test", filename="test.txt")
3030
assert form.is_multipart
3131

3232

33+
def test_form_data_is_multipart_param(buf: bytearray) -> None:
34+
form = FormData(default_to_multipart=True)
35+
assert form.is_multipart
36+
37+
form.add_field("test", "test")
38+
assert form.is_multipart
39+
40+
3341
def test_invalid_formdata_payload() -> None:
3442
form = FormData()
3543
form.add_field("test", object(), filename="test.txt")

0 commit comments

Comments
 (0)