diff options
Diffstat (limited to 'backends/cloud/googledrive/googledriveuploadrequest.cpp')
-rw-r--r-- | backends/cloud/googledrive/googledriveuploadrequest.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/backends/cloud/googledrive/googledriveuploadrequest.cpp b/backends/cloud/googledrive/googledriveuploadrequest.cpp index d9ba2815e0..ce7d59a50c 100644 --- a/backends/cloud/googledrive/googledriveuploadrequest.cpp +++ b/backends/cloud/googledrive/googledriveuploadrequest.cpp @@ -198,11 +198,15 @@ void GoogleDriveUploadRequest::uploadNextPart() { byte *buffer = new byte[UPLOAD_PER_ONE_REQUEST]; uint32 size = _contentsStream->read(buffer, UPLOAD_PER_ONE_REQUEST); - request->setBuffer(buffer, size); + if (size != 0) request->setBuffer(buffer, size); //request->addHeader(Common::String::format("Content-Length: %u", size)); - if (_uploadUrl != "") - request->addHeader(Common::String::format("Content-Range: bytes %u-%u/%u", oldPos, _contentsStream->pos()-1, _contentsStream->size())); ; + if (_uploadUrl != "") { + if (_contentsStream->pos() == 0) + request->addHeader(Common::String::format("Content-Length: 0")); + else + request->addHeader(Common::String::format("Content-Range: bytes %u-%u/%u", oldPos, _contentsStream->pos() - 1, _contentsStream->size())); + } _workingRequest = ConnMan.addRequest(request); } |