Prefer Content-Length
over Transfer-Encoding: chunked
for content=<file-like>
cases.
#1619
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1490
Step 1: Add failing test case for
content=io.BytesIO(...)
:Step 2: Refactor
peek_filelike_length
to returnOptional[int]
, rather than raising an exception when the length cannot be determined.Step 3: Use
peek_filelike_length
in theelif isinstance(content, Iterable):
case ofencode_content(...) -> (headers, stream)
, switching between eitherContent-Length: <length>
orTransfer-Encoding: chunked