]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: CopyObject works with x-amz-copy-source-if-* headers 50519/head
authorwanghao72 <47028767+wanghao72@users.noreply.github.com>
Thu, 20 Jan 2022 07:57:29 +0000 (15:57 +0800)
committerKonstantin Shalygin <k0ste@k0ste.ru>
Fri, 24 Nov 2023 06:05:51 +0000 (13:05 +0700)
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>
(cherry picked from commit 9d8093311a33dba9e3604068e9ec5d7723539490)

src/rgw/rgw_rest_s3.cc

index cb15834a1620b2aaefbb0d5b61562e2bc57574b6..9986ac976aa2902e03f88d979735bf6d73e3d7db 100644 (file)
@@ -3417,10 +3417,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;