Skip to content

Commit 993b215

Browse files
Revert "capture request data with aiohttp multipart/form-data (#32543)"
This reverts commit bf0213f.
1 parent bf0213f commit 993b215

File tree

4 files changed

+14
-48
lines changed

4 files changed

+14
-48
lines changed

sdk/core/azure-core/CHANGELOG.md

-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
### Bugs Fixed
1010

11-
- Fixed an issue with `multipart/form-data` in the async transport where `data` was not getting encoded into the request body. #32473
12-
1311
### Other Changes
1412

1513
## 1.29.4 (2023-09-07)

sdk/core/azure-core/azure/core/pipeline/transport/_aiohttp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def _get_request_data(self, request):
164164
:return: The request data
165165
"""
166166
if request.files:
167-
form_data = aiohttp.FormData(request.data or {})
167+
form_data = aiohttp.FormData()
168168
for form_file, data in request.files.items():
169169
content_type = data[2] if len(data) > 2 else None
170170
try:

sdk/core/azure-core/tests/async_tests/test_rest_http_response_async.py

+8-19
Original file line numberDiff line numberDiff line change
@@ -221,25 +221,14 @@ async def test_urlencoded_content(send_request):
221221
)
222222

223223

224-
@pytest.mark.asyncio
225-
async def test_multipart_files_content(send_request):
226-
request = HttpRequest(
227-
"POST",
228-
"/multipart/basic",
229-
files={"fileContent": io.BytesIO(b"<file content>")},
230-
)
231-
await send_request(request)
232-
233-
234-
@pytest.mark.asyncio
235-
async def test_multipart_data_and_files_content(send_request):
236-
request = HttpRequest(
237-
"POST",
238-
"/multipart/data-and-files",
239-
data={"message": "Hello, world!"},
240-
files={"fileContent": io.BytesIO(b"<file content>")},
241-
)
242-
await send_request(request)
224+
# @pytest.mark.asyncio
225+
# async def test_multipart_files_content(send_request):
226+
# request = HttpRequest(
227+
# "POST",
228+
# "/multipart/basic",
229+
# files={"fileContent": io.BytesIO(b"<file content>")},
230+
# )
231+
# await send_request(request)
243232

244233

245234
@pytest.mark.asyncio

sdk/core/azure-core/tests/testserver_tests/coretestserver/coretestserver/test_routes/multipart.py

+5-26
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def basic():
2626
assert_with_message("content type", multipart_header_start, request.content_type[: len(multipart_header_start)])
2727
if request.files:
2828
# aiohttp
29-
assert_with_message("content length", 228, request.content_length)
29+
assert_with_message("content length", 258, request.content_length)
3030
assert_with_message("num files", 1, len(request.files))
3131
assert_with_message("has file named fileContent", True, bool(request.files.get("fileContent")))
3232
file_content = request.files["fileContent"]
@@ -38,7 +38,7 @@ def basic():
3838
)
3939
assert_with_message(
4040
"content disposition",
41-
'form-data; name="fileContent"; filename="fileContent"',
41+
'form-data; name="fileContent"; filename="fileContent"; filename*=utf-8\'\'fileContent',
4242
file_content.headers["Content-Disposition"],
4343
)
4444
elif request.form:
@@ -52,30 +52,9 @@ def basic():
5252

5353
@multipart_api.route("/data-and-files", methods=["POST"])
5454
def data_and_files():
55-
if request.files:
56-
# aiohttp
57-
assert_with_message("content type", multipart_header_start, request.content_type[: len(multipart_header_start)])
58-
assert_with_message("has file named fileContent", True, bool(request.files.get("fileContent")))
59-
assert_with_message("message", "Hello, world!", request.form["message"])
60-
file_content = request.files["fileContent"]
61-
assert_with_message("file content type", "application/octet-stream", file_content.content_type)
62-
assert_with_message("file content length", 14, file_content.content_length)
63-
assert_with_message("filename", "fileContent", file_content.filename)
64-
assert_with_message(
65-
"has content disposition header", True, bool(file_content.headers.get("Content-Disposition"))
66-
)
67-
assert_with_message(
68-
"content disposition",
69-
'form-data; name="fileContent"; filename="fileContent"',
70-
file_content.headers["Content-Disposition"],
71-
)
72-
elif request.form:
73-
# requests
74-
assert_with_message("content type", multipart_header_start, request.content_type[: len(multipart_header_start)])
75-
assert_with_message("message", "Hello, world!", request.form["message"])
76-
assert_with_message("message", "<file content>", request.form["fileContent"])
77-
else:
78-
return Response(status=400)
55+
assert_with_message("content type", multipart_header_start, request.content_type[: len(multipart_header_start)])
56+
assert_with_message("message", "Hello, world!", request.form["message"])
57+
assert_with_message("message", "<file content>", request.form["fileContent"])
7958
return Response(status=200)
8059

8160

0 commit comments

Comments
 (0)