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."
@john0312 john0312 requested a review from a team as a code owner May 16, 2022 13:51
@product-auto-label product-auto-label bot added the size: s Pull request size is small. label May 16, 2022
@parthea parthea 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."

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

@chalmerlowe chalmerlowe 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
if chunk_end - self.resumable_progress + 1 == 0 and chunk_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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: s Pull 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