verify before writing

merge

verify headers before writing
master
awwalker 9 years ago
parent c784707ed8
commit 34f2c5bcdf
  1. 28
      object-handlers.go

@ -345,6 +345,20 @@ func (api storageAPI) CopyObjectHandler(w http.ResponseWriter, r *http.Request)
} }
return return
} }
// Verify before writing.
// Verify x-amz-copy-source-if-modified-since and
// x-amz-copy-source-if-unmodified-since.
lastModified := objectInfo.ModifiedTime
if checkCopySourceLastModified(w, r, lastModified) {
return
}
// Verify x-amz-copy-source-if-match and
// x-amz-copy-source-if-none-match.
if checkCopySourceETag(w, r) {
return
}
/// maximum Upload size for object in a single CopyObject operation. /// maximum Upload size for object in a single CopyObject operation.
if isMaxObjectSize(objectInfo.Size) { if isMaxObjectSize(objectInfo.Size) {
@ -397,20 +411,6 @@ func (api storageAPI) CopyObjectHandler(w http.ResponseWriter, r *http.Request)
encodedSuccessResponse := encodeResponse(response) encodedSuccessResponse := encodeResponse(response)
// write headers // write headers
setCommonHeaders(w) setCommonHeaders(w)
// Verify x-amz-copy-source-if-modified-since and
// x-amz-copy-source-if-unmodified-since
lastModified := objectInfo.ModifiedTime
if checkCopySourceLastModified(w, r, lastModified) {
return
}
// Verify x-amz-copy-source-if-match and
// x-amz-copy-source-if-none-match
if checkCopySourceETag(w, r) {
return
}
// write success response. // write success response.
writeSuccessResponse(w, encodedSuccessResponse) writeSuccessResponse(w, encodedSuccessResponse)
} }

Loading…
Cancel
Save