aio-libs
aiohttp
BlogDocsChangelog

[PR #11857/0a915b8f backport][3.14] Fix multipart parsing for empty body parts

#11880Merged
Comparing
patchback/backports/3.14/0a915b8fb0fc02904b59ede9af8328b9ad305a1b/pr-11857
(
0c1d048
) with
3.14
(
0c26d87
)
CodSpeed Performance Gauge
0%
Untouched
59
Ignored
7

Benchmarks

Passed

test_send_one_hundred_websocket_text_messages_with_mask[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
+2%
837.8 µs822.3 µs
test_get_request_with_251308_compressed_chunked_payload[isal.isal_zlib-pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
+2%
65.4 ms64.4 ms
test_simple_web_response
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
+1%
459.8 µs454.7 µs
test_create_client_request_with_headers[pyloop]
tests/test_benchmarks_client_request.py
CodSpeed Performance Gauge
+1%
76.4 µs75.7 µs
test_client_request_update_cookies[pyloop]
tests/test_benchmarks_client_request.py
CodSpeed Performance Gauge
+1%
153.6 µs152.4 µs
test_web_response_with_headers
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
+1%
706.3 µs701.1 µs
test_create_client_request_with_cookies[pyloop]
tests/test_benchmarks_client_request.py
CodSpeed Performance Gauge
+1%
122.1 µs121.5 µs
test_resolve_multiple_level_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
8.8 ms8.7 ms
test_one_hundred_simple_get_requests_no_session[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
89.1 ms88.8 ms
test_resolve_gitapi[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
296 ms294.7 ms
test_resolve_root_route_with_many_fixed_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
904.4 µs900.8 µs
test_web_response_with_bytes_body
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
550.3 µs548.1 µs
test_resolve_dynamic_resource_url_with_many_dynamic_routes_with_common_prefix[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
247.7 ms246.7 ms
test_resolve_gitapi_subapps[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
296.5 ms295.5 ms
test_send_one_hundred_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
4.6 ms4.6 ms
test_resolve_multiple_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
test_resolve_static_root_route[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
1 ms1 ms
test_web_response_with_text_body
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
692.8 µs691.7 µs
test_send_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
594.2 µs593.3 µs
test_ten_streamed_responses_iter_chunked_4096[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
28.2 ms28.1 ms
test_ten_streamed_responses_iter_chunked_65536[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
23.1 ms23 ms
test_one_thousand_round_trip_websocket_binary_messages[pyloop-large]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
110.6 ms110.4 ms
test_simple_web_file_response_not_modified[pyloop]
tests/test_benchmarks_web_fileresponse.py
CodSpeed Performance Gauge
0%
55.1 ms55.1 ms
test_send_one_hundred_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
3 ms3 ms
test_one_hundred_get_requests_with_1024_chunked_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
35.3 ms35.3 ms
test_one_thousand_round_trip_websocket_binary_messages[pyloop-small]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
16.8 ms16.8 ms
test_load_cookies_into_temp_cookiejar
tests/test_benchmarks_cookiejar.py
CodSpeed Performance Gauge
0%
192.5 µs192.4 µs
test_one_hundred_get_requests_with_30000_chunked_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
40.5 ms40.5 ms
test_one_hundred_get_requests_with_1024_content_length_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
35 ms35 ms
test_one_hundred_get_requests_with_512kib_content_length_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
165.5 ms165.5 ms
test_ten_web_middlewares[pyloop]
tests/test_benchmarks_web_middleware.py
CodSpeed Performance Gauge
0%
35.4 ms35.4 ms
test_resolve_root_route[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
898.9 µs898.8 µs
test_get_request_with_251308_compressed_chunked_payload[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
210 ms210 ms
test_simple_web_file_sendfile_fallback_response[pyloop]
tests/test_benchmarks_web_fileresponse.py
CodSpeed Performance Gauge
0%
84.6 ms84.6 ms
test_read_large_binary_websocket_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
test_client_send_large_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
50.7 ms50.7 ms
test_client_receive_large_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
50.7 ms50.7 ms
test_send_one_hundred_large_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
579.8 µs579.9 µs
test_get_request_with_251308_compressed_chunked_payload[zlib-pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
426.1 ms426.2 ms
test_one_hundred_get_requests_with_30000_content_length_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
40.2 ms40.2 ms
test_one_hundred_simple_get_requests_multiple_methods_route[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
32.5 ms32.5 ms
test_one_thousand_round_trip_websocket_text_messages[pyloop]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
17.1 ms17.2 ms
test_send_client_request_one_hundred[pyloop]
tests/test_benchmarks_client_request.py
CodSpeed Performance Gauge
0%
2.5 ms2.5 ms
test_send_one_hundred_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
2 ms2 ms
test_one_hundred_simple_get_requests_alternating_clients[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
33.4 ms33.4 ms
test_one_hundred_simple_post_requests[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
36.5 ms36.6 ms
test_one_hundred_simple_get_requests[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
32.7 ms32.8 ms
test_simple_web_file_response[pyloop]
tests/test_benchmarks_web_fileresponse.py
CodSpeed Performance Gauge
0%
78.1 ms78.2 ms
test_one_thousand_large_round_trip_websocket_text_messages[pyloop]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
0%
21.5 ms21.6 ms
test_resolve_single_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
903.5 µs905.1 µs
test_resolve_dynamic_resource_url_with_many_dynamic_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
3.6 ms3.6 ms
test_read_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
215.4 µs215.9 µs
test_resolve_gitapi_root[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
test_simple_web_stream_response
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
249.5 µs250.3 µs
test_resolve_prefix_resources_many_prefix_many_plain[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
5 ms5 ms
test_ten_streamed_responses_iter_chunks[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
16.2 ms16.2 ms
test_resolve_dynamic_resource_url_with_many_static_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
-1%
3.6 ms3.6 ms
test_one_hundred_json_post_requests[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
-1%
38.3 ms38.5 ms
test_serialize_headers
tests/test_benchmarks_http_writer.py
CodSpeed Performance Gauge
-1%
852.6 µs858 µs

Ignored

test_one_hundred_get_requests_iter_chunks_on_512kib_chunked_payload[pyloop]
tests/test_benchmarks_client.py
Ignored
CodSpeed Performance Gauge
0%
130.8 ms130.8 ms
test_ten_streamed_responses_iter_any[pyloop]
tests/test_benchmarks_client.py
Ignored
CodSpeed Performance Gauge
0%
21.7 ms21.6 ms
test_client_send_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_client_ws.py
Ignored
CodSpeed Performance Gauge
+6%
20.2 ms19 ms
test_client_receive_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client_ws.py
Ignored
CodSpeed Performance Gauge
-8%
27.7 ms30.2 ms
test_client_receive_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_client_ws.py
Ignored
CodSpeed Performance Gauge
0%
20.2 ms20.2 ms
test_client_send_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client_ws.py
Ignored
CodSpeed Performance Gauge
-8%
27.8 ms30.2 ms
test_one_hundred_get_requests_with_512kib_chunked_payload[pyloop]
tests/test_benchmarks_client.py
Ignored
CodSpeed Performance Gauge
0%
177.3 ms177.3 ms

Commits

Click on a commit to change the comparison range
Base
3.14
0c26d87
+0.13%
Fix multipart parsing for empty body parts (#11857) Fixes multipart parser when encountering an empty body. --------- Co-authored-by: Sam Bull <git@sambull.org> (cherry picked from commit 0a915b8fb0fc02904b59ede9af8328b9ad305a1b)
0c1d048
12 days ago
by magicmark
© 2026 CodSpeed Technology
Home Terms Privacy Docs