From 415eeca6cf5e05b5137a6ef092787a23ccd308a7 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Sun, 10 Mar 2019 15:47:34 +0000 Subject: [PATCH] drive: fix range requests on 0 length files Before this change a range request on a 0 length file would fail $ rclone cat --head 128 drive:test/emptyfile ERROR : open file failed: googleapi: Error 416: Request range not satisfiable, requestedRangeNotSatisfiable To fix this we remove Range: headers on requests for zero length files. --- backend/drive/drive.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/drive/drive.go b/backend/drive/drive.go index dc6ea4c8c..db02bbc73 100644 --- a/backend/drive/drive.go +++ b/backend/drive/drive.go @@ -2436,6 +2436,10 @@ func (o *baseObject) httpResponse(url, method string, options []fs.OpenOption) ( return req, nil, err } fs.OpenOptionAddHTTPHeaders(req.Header, options) + if o.bytes == 0 { + // Don't supply range requests for 0 length objects as they always fail + delete(req.Header, "Range") + } err = o.fs.pacer.Call(func() (bool, error) { res, err = o.fs.client.Do(req) if err == nil {