From 64c02a9de196153a0fc132a0a16739a83efbfb65 Mon Sep 17 00:00:00 2001 From: Adam Jensen Date: Mon, 23 Apr 2018 17:16:20 -0400 Subject: [PATCH] Update the upload length in FileInfo when it's sent --- unrouted_handler.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/unrouted_handler.go b/unrouted_handler.go index 3769bdf..675519b 100644 --- a/unrouted_handler.go +++ b/unrouted_handler.go @@ -456,6 +456,17 @@ func (handler *UnroutedHandler) PatchFile(w http.ResponseWriter, r *http.Request return } + if info.SizeIsDeferred && r.Header.Get("Upload-Length") != "" { + uploadLength, err := strconv.ParseInt(r.Header.Get("Upload-Length"), 10, 64) + if err != nil || uploadLength < 0 { + handler.sendError(w, r, ErrInvalidOffset) + return + } + + info.Size = uploadLength + info.SizeIsDeferred = false + } + if err := handler.writeChunk(id, info, w, r); err != nil { handler.sendError(w, r, err) return