diff options
Diffstat (limited to 'weed/s3api/s3api_object_handlers_multipart.go')
| -rw-r--r-- | weed/s3api/s3api_object_handlers_multipart.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_handlers_multipart.go b/weed/s3api/s3api_object_handlers_multipart.go index cee8f6785..3d83b585b 100644 --- a/weed/s3api/s3api_object_handlers_multipart.go +++ b/weed/s3api/s3api_object_handlers_multipart.go @@ -114,6 +114,14 @@ func (s3a *S3ApiServer) CompleteMultipartUploadHandler(w http.ResponseWriter, r return } + // Check conditional headers before completing multipart upload + // This implements AWS S3 behavior where conditional headers apply to CompleteMultipartUpload + if errCode := s3a.checkConditionalHeaders(r, bucket, object); errCode != s3err.ErrNone { + glog.V(3).Infof("CompleteMultipartUploadHandler: Conditional header check failed for %s/%s", bucket, object) + s3err.WriteErrorResponse(w, r, errCode) + return + } + response, errCode := s3a.completeMultipartUpload(r, &s3.CompleteMultipartUploadInput{ Bucket: aws.String(bucket), Key: objectKey(aws.String(object)), |
