]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: CopyObject works with x-amz-copy-source-if-* headers 44678/head
authorwanghao72 <47028767+wanghao72@users.noreply.github.com>
Thu, 20 Jan 2022 07:57:29 +0000 (15:57 +0800)
committerroot <kipdoudou@gmail.com>
Sat, 5 Feb 2022 04:07:45 +0000 (12:07 +0800)
CopyObject api support condition headers, eg x-amz-copy-source-if-match, while radosgw miss out the 'source' keyword
Fixes: https://tracker.ceph.com/issues/53945
Signed-off-by: Wang Hao <wanghao72@baidu.com>
src/rgw/rgw_rest_s3.cc

index 1cb855d09e306d166925b06c7b7896aefffb045a..f096a81c6708f65a4fd3afab12d7301d91ff583c 100644 (file)
@@ -3233,10 +3233,10 @@ int RGWCopyObj_ObjStore_S3::get_params(optional_yield y)
     obj_legal_hold = new RGWObjectLegalHold(obj_legal_hold_str);
   }
 
-  if_mod = s->info.env->get("HTTP_X_AMZ_COPY_IF_MODIFIED_SINCE");
-  if_unmod = s->info.env->get("HTTP_X_AMZ_COPY_IF_UNMODIFIED_SINCE");
-  if_match = s->info.env->get("HTTP_X_AMZ_COPY_IF_MATCH");
-  if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_IF_NONE_MATCH");
+  if_mod = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_MODIFIED_SINCE");
+  if_unmod = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_UNMODIFIED_SINCE");
+  if_match = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_MATCH");
+  if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_NONE_MATCH");
 
   src_tenant_name = s->src_tenant_name;
   src_bucket_name = s->src_bucket_name;