mirror of
https://github.com/rclone/rclone.git
synced 2025-12-06 00:03:32 +00:00
fs: fix FixRangeOption to make fetch to end Range options absolute
Before this change FixRangeOption was leaving `Range: bytes=21-` alone, thus not fulfilling its contract of making Range requests absolute. As it happens this form isn't supported by Cloudflare R2. After this change the request is normalised to `Range: bytes=21-25`. See: #5642
This commit is contained in:
@@ -158,7 +158,8 @@ func FixRangeOption(options []OpenOption, size int64) {
|
||||
x = &RangeOption{Start: size - x.End, End: -1}
|
||||
options[i] = x
|
||||
}
|
||||
if x.End > size {
|
||||
// If end is too big or undefined, fetch to the end
|
||||
if x.End > size || x.End < 0 {
|
||||
x = &RangeOption{Start: x.Start, End: size - 1}
|
||||
options[i] = x
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user