From 4e41af19846db75081cb0ddb7b33dc2bb9321ace Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Tue, 23 Aug 2016 10:22:42 -0700 Subject: [PATCH] rgw: rest conn functions cleanup, only append zonegroup if not empty Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_rest_conn.cc | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/rgw/rgw_rest_conn.cc b/src/rgw/rgw_rest_conn.cc index d92a8ca0d7678..a96c97819ba9f 100644 --- a/src/rgw/rgw_rest_conn.cc +++ b/src/rgw/rgw_rest_conn.cc @@ -46,17 +46,27 @@ string RGWRESTConn::get_url() return endpoint; } +static void populate_params(param_vec_t& params, const rgw_user *uid, const string& zonegroup) +{ + if (uid) { + string uid_str = uid->to_str(); + if (!uid->empty()) { + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "uid", uid_str)); + } + } + if (!zonegroup.empty()) { + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", zonegroup)); + } +} + int RGWRESTConn::forward(const rgw_user& uid, req_info& info, obj_version *objv, size_t max_response, bufferlist *inbl, bufferlist *outbl) { string url; int ret = get_url(url); if (ret < 0) return ret; - string uid_str = uid.to_str(); param_vec_t params; - if (!uid.empty()) - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "uid", uid_str)); - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", self_zone_group)); + populate_params(params, &uid, self_zone_group); if (objv) { params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "tag", objv->tag)); char buf[16]; @@ -81,10 +91,8 @@ int RGWRESTConn::put_obj_init(const rgw_user& uid, rgw_obj& obj, uint64_t obj_si if (ret < 0) return ret; - string uid_str = uid.to_str(); param_vec_t params; - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "uid", uid_str)); - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", self_zone_group)); + populate_params(params, &uid, self_zone_group); *req = new RGWRESTStreamWriteRequest(cct, url, NULL, ¶ms); return (*req)->put_obj_init(key, obj, obj_size, attrs); } @@ -129,10 +137,7 @@ int RGWRESTConn::get_obj(const rgw_user& uid, req_info *info /* optional */, rgw return ret; param_vec_t params; - if (!uid.empty()) { - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "uid", uid.to_str())); - } - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", self_zone_group)); + populate_params(params, &uid, self_zone_group); if (prepend_metadata) { params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "prepend-metadata", self_zone_group)); } @@ -202,7 +207,7 @@ int RGWRESTConn::get_resource(const string& resource, params.insert(params.end(), extra_params->begin(), extra_params->end()); } - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", self_zone_group)); + populate_params(params, nullptr, self_zone_group); RGWStreamIntoBufferlist cb(bl); @@ -249,7 +254,7 @@ RGWRESTReadResource::RGWRESTReadResource(RGWRESTConn *_conn, void RGWRESTReadResource::init_common(param_vec_t *extra_headers) { - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_self_zonegroup())); + populate_params(params, nullptr, conn->get_self_zonegroup()); if (extra_headers) { headers.insert(extra_headers->begin(), extra_headers->end()); @@ -309,7 +314,7 @@ RGWRESTSendResource::RGWRESTSendResource(RGWRESTConn *_conn, void RGWRESTSendResource::init_common(param_vec_t *extra_headers) { - params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_self_zonegroup())); + populate_params(params, nullptr, conn->get_self_zonegroup()); if (extra_headers) { headers.insert(extra_headers->begin(), extra_headers->end()); -- 2.39.5