Correct parsing Upload-Concat for final uplaods

Addresses https://github.com/tus/tus-resumable-upload-protocol/issues/123
This commit is contained in:
Marius 2017-01-31 16:58:31 +01:00
parent b05382eced
commit 7710fd79fb
3 changed files with 15 additions and 9 deletions

View File

@ -118,6 +118,9 @@ func TestConcat(t *testing.T) {
Method: "POST",
ReqHeader: map[string]string{
"Tus-Resumable": "1.0.0",
// A space between `final;` and the first URL should be allowed due to
// compatibility reasons, even if the specification does not define
// it. Therefore this character is included in this test case.
"Upload-Concat": "final; http://tus.io/files/a /files/b/",
},
Code: http.StatusCreated,

View File

@ -341,8 +341,11 @@ func (handler *UnroutedHandler) HeadFile(w http.ResponseWriter, r *http.Request)
if info.IsFinal {
v := "final;"
for _, uploadID := range info.PartialUploads {
v += " " + handler.absFileURL(r, uploadID)
v += handler.absFileURL(r, uploadID) + " "
}
// Remove trailing space
v = v[:len(v)-1]
w.Header().Set("Upload-Concat", v)
}