diff --git a/.changes/next-release/bugfix-HTTP-36336.json b/.changes/next-release/bugfix-HTTP-36336.json new file mode 100644 index 000000000000..8599b0a0b767 --- /dev/null +++ b/.changes/next-release/bugfix-HTTP-36336.json @@ -0,0 +1,5 @@ +{ + "type": "bugfix", + "category": "HTTP", + "description": "Fixes regression where ``Content-Length`` validation is moved back to ``botocore`` from ``urllib3``. This re-enables functionality that depends on ``botocore``'s validation, such as resilient streaming from S3 to ``stdout`` in the case of an ``IncompleteRead``." +} diff --git a/awscli/botocore/httpsession.py b/awscli/botocore/httpsession.py index dcddba5ae90f..ae657c65acdb 100644 --- a/awscli/botocore/httpsession.py +++ b/awscli/botocore/httpsession.py @@ -477,6 +477,7 @@ def send(self, request): preload_content=False, decode_content=False, chunked=self._chunked(request.headers), + enforce_content_length=False, ) http_response = botocore.awsrequest.AWSResponse( diff --git a/tests/unit/botocore/test_http_session.py b/tests/unit/botocore/test_http_session.py index 1165f3fdcc53..e212d00fda3f 100644 --- a/tests/unit/botocore/test_http_session.py +++ b/tests/unit/botocore/test_http_session.py @@ -146,6 +146,7 @@ def assert_request_sent( preload_content=False, decode_content=False, chunked=chunked, + enforce_content_length=False, ) def _assert_manager_call(self, manager, *assert_args, **assert_kwargs):