Skip to content

Conversation

@john0312
Copy link

For an upload that inherits the MediaUpload class and is not a stream,
if the size of the upload is exact multiples of the chunksize, the last
chunk would be empty and the generated Content-Range header will result
in "Bad Request". Details: "Failed to parse Content-Range header."

Fixes#1801 🦕

For an upload that inherits the MediaUpload class and is not a stream, if the size of the upload is exact multiples of the chunksize, the last chunk would be empty and the generated Content-Range header will result in "Bad Request". Details: "Failed to parse Content-Range header."
@john0312john0312 requested a review from a team as a code ownerMay 16, 2022 13:51
@product-auto-labelproduct-auto-labelbot added the size: s Pull request size is small. label May 16, 2022
@partheaparthea self-assigned this May 17, 2022
@Blessed4eva
Copy link

For an upload that inherits the MediaUpload class and is not a stream,

if the size of the upload is exact multiples of the chunksize, the last

chunk would be empty and the generated Content-Range header will result

in "Bad Request". Details: "Failed to parse Content-Range header."

@partheaparthea removed their assignment Oct 25, 2024
@chalmerlowechalmerlowe requested a review from a team as a code ownerDecember 11, 2025 16:32
@chalmerlowechalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Dec 11, 2025
@yoshi-kokoroyoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Dec 11, 2025
Copy link

@chalmerlowechalmerlowe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

# An empty file results in chunk_end = -1 and size = 0
# sending "bytes 0--1/0" results in an invalid request
# Only add header "Content-Range" if chunk_end != -1
ifchunk_end-self.resumable_progress+1==0andchunk_end!=-1:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This if only fires if chunk_end != -1. But in that case, the if below also fires, overwriting this particular header. So this block as written has no effect on the end result.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: sPull request size is small.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MediaUpload with has_stream() = False and an empty last chunk results in HTTP Error 400

7 participants

@john0312@Blessed4eva@vchudnov-g@chalmerlowe@salomankevin655-beep@parthea@yoshi-kokoro