From 34f2c5bcdf4b29a0b01e83ffad9a3b2babfcc6c3 Mon Sep 17 00:00:00 2001 From: awwalker Date: Wed, 16 Mar 2016 12:57:29 -0700 Subject: [PATCH] verify before writing merge verify headers before writing --- object-handlers.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/object-handlers.go b/object-handlers.go index ba6678cab..97173ecb2 100644 --- a/object-handlers.go +++ b/object-handlers.go @@ -345,6 +345,20 @@ func (api storageAPI) CopyObjectHandler(w http.ResponseWriter, r *http.Request) } 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. if isMaxObjectSize(objectInfo.Size) { @@ -397,20 +411,6 @@ func (api storageAPI) CopyObjectHandler(w http.ResponseWriter, r *http.Request) encodedSuccessResponse := encodeResponse(response) // write headers 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. writeSuccessResponse(w, encodedSuccessResponse) }