rest: Really set Content-Length HTTP header

This commit is contained in:
Alexander Neumann 2018-03-08 22:14:12 +01:00
parent ab5ef600a2
commit fcc9ce81ba

View file

@ -9,7 +9,6 @@ import (
"net/http"
"net/url"
"path"
"strconv"
"strings"
"golang.org/x/net/context/ctxhttp"
@ -119,10 +118,13 @@ func (b *restBackend) Save(ctx context.Context, h restic.Handle, rd restic.Rewin
if err != nil {
return errors.Wrap(err, "NewRequest")
}
req.Header.Set("Content-Length", strconv.FormatInt(rd.Length(), 10))
req.Header.Set("Content-Type", "application/octet-stream")
req.Header.Set("Accept", contentTypeV2)
// explicitly set the content length, this prevents chunked encoding and
// let's the server know what's coming.
req.ContentLength = rd.Length()
b.sem.GetToken()
resp, err := ctxhttp.Do(ctx, b.client, req)
b.sem.ReleaseToken()