Browse Source

set content range

pull/7481/head
chrislu 1 month ago
parent
commit
4e2b121869
  1. 9
      weed/s3api/s3api_object_handlers.go

9
weed/s3api/s3api_object_handlers.go

@ -817,8 +817,9 @@ func (s3a *S3ApiServer) streamFromVolumeServersWithSSE(w http.ResponseWriter, r
startOffset = totalSize - suffixLen startOffset = totalSize - suffixLen
endOffset = totalSize - 1 endOffset = totalSize - 1
} else { } else {
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
// Set header BEFORE WriteHeader
w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize)) w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize))
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
return fmt.Errorf("invalid suffix range") return fmt.Errorf("invalid suffix range")
} }
} else { } else {
@ -839,8 +840,9 @@ func (s3a *S3ApiServer) streamFromVolumeServersWithSSE(w http.ResponseWriter, r
// Validate range // Validate range
if startOffset < 0 || startOffset >= totalSize { if startOffset < 0 || startOffset >= totalSize {
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
// Set header BEFORE WriteHeader
w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize)) w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize))
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
return fmt.Errorf("invalid range start") return fmt.Errorf("invalid range start")
} }
@ -849,8 +851,9 @@ func (s3a *S3ApiServer) streamFromVolumeServersWithSSE(w http.ResponseWriter, r
} }
if endOffset < startOffset { if endOffset < startOffset {
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
// Set header BEFORE WriteHeader
w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize)) w.Header().Set("Content-Range", fmt.Sprintf("bytes */%d", totalSize))
w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
return fmt.Errorf("invalid range: end before start") return fmt.Errorf("invalid range: end before start")
} }
} }

Loading…
Cancel
Save