From 7bd1cd6f9dee154ffeb5de3ce3067e035610fa29 Mon Sep 17 00:00:00 2001 From: Adam Jensen Date: Sun, 13 May 2018 09:52:27 -0400 Subject: [PATCH] Integrate DeclareLength into handler's PatchFile --- unrouted_handler.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/unrouted_handler.go b/unrouted_handler.go index 481f360..3c0275b 100644 --- a/unrouted_handler.go +++ b/unrouted_handler.go @@ -456,7 +456,7 @@ func (handler *UnroutedHandler) PatchFile(w http.ResponseWriter, r *http.Request return } - if info.SizeIsDeferred && r.Header.Get("Upload-Length") != "" { + if handler.composer.UsesLengthDeferrer && 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) @@ -465,6 +465,10 @@ func (handler *UnroutedHandler) PatchFile(w http.ResponseWriter, r *http.Request info.Size = uploadLength info.SizeIsDeferred = false + if err := handler.composer.LengthDeferrer.DeclareLength(id, info.Size); err != nil { + handler.sendError(w, r, err) + return + } } if err := handler.writeChunk(id, info, w, r); err != nil {