From 6c1f376160401870a2fac317a4c4829450c6230c Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Wed, 4 Nov 2015 16:43:41 -0500 Subject: [PATCH] rgw: add typedef for rest parameter lists Signed-off-by: Casey Bodley --- src/rgw/rgw_cr_rest.h | 4 +--- src/rgw/rgw_rest_conn.cc | 38 +++++++++++++++++++------------------- src/rgw/rgw_rest_conn.h | 26 +++++++++++++++----------- 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/src/rgw/rgw_cr_rest.h b/src/rgw/rgw_cr_rest.h index c9971f6809675..b94aea49bf3c9 100644 --- a/src/rgw/rgw_cr_rest.h +++ b/src/rgw/rgw_cr_rest.h @@ -4,14 +4,12 @@ #include "rgw_coroutine.h" #include "rgw_rest_conn.h" -#include - template class RGWReadRESTResourceCR : public RGWSimpleCoroutine { RGWRESTConn *conn; RGWHTTPManager *http_manager; string path; - std::list > params_list; + param_list_t param_list; T *result; RGWRESTReadResource *http_op; diff --git a/src/rgw/rgw_rest_conn.cc b/src/rgw/rgw_rest_conn.cc index d4b4939fdd920..2f37622c06552 100644 --- a/src/rgw/rgw_rest_conn.cc +++ b/src/rgw/rgw_rest_conn.cc @@ -49,15 +49,15 @@ int RGWRESTConn::forward(const rgw_user& uid, req_info& info, obj_version *objv, if (ret < 0) return ret; string uid_str = uid.to_str(); - list > params; + param_list_t params; if (!uid.empty()) params.push_back(pair(RGW_SYS_PARAM_PREFIX "uid", uid_str)); params.push_back(pair(RGW_SYS_PARAM_PREFIX "region", zone_group)); if (objv) { - params.push_back(pair(RGW_SYS_PARAM_PREFIX "tag", objv->tag)); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "tag", objv->tag)); char buf[16]; snprintf(buf, sizeof(buf), "%lld", (long long)objv->ver); - params.push_back(pair(RGW_SYS_PARAM_PREFIX "ver", buf)); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "ver", buf)); } RGWRESTSimpleRequest req(cct, url, NULL, ¶ms); return req.forward_request(key, info, max_response, inbl, outbl); @@ -78,7 +78,7 @@ int RGWRESTConn::put_obj_init(const rgw_user& uid, rgw_obj& obj, uint64_t obj_si return ret; string uid_str = uid.to_str(); - list > params; + param_list_t params; params.push_back(pair(RGW_SYS_PARAM_PREFIX "uid", uid_str)); params.push_back(pair(RGW_SYS_PARAM_PREFIX "region", zone_group)); *req = new RGWRESTStreamWriteRequest(cct, url, NULL, ¶ms); @@ -114,17 +114,17 @@ int RGWRESTConn::get_obj(const rgw_user& uid, req_info *info /* optional */, rgw if (ret < 0) return ret; - list > params; + param_list_t params; if (!uid.empty()) { - params.push_back(pair(RGW_SYS_PARAM_PREFIX "uid", uid.to_str())); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "uid", uid.to_str())); } - params.push_back(pair(RGW_SYS_PARAM_PREFIX "region", zone_group)); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "region", zone_group)); if (prepend_metadata) { - params.push_back(pair(RGW_SYS_PARAM_PREFIX "prepend-metadata", zone_group)); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "prepend-metadata", zone_group)); } if (!obj.get_instance().empty()) { const string& instance = obj.get_instance(); - params.push_back(pair("versionId", instance)); + params.push_back(param_pair_t("versionId", instance)); } *req = new RGWRESTStreamReadRequest(cct, url, cb, NULL, ¶ms); map extra_headers; @@ -158,7 +158,7 @@ int RGWRESTConn::complete_request(RGWRESTStreamReadRequest *req, string& etag, t } int RGWRESTConn::get_resource(const string& resource, - list > *extra_params, + param_list_t *extra_params, map *extra_headers, bufferlist& bl, RGWHTTPManager *mgr) @@ -168,13 +168,13 @@ int RGWRESTConn::get_resource(const string& resource, if (ret < 0) return ret; - list > params; + param_list_t params; if (extra_params) { params.insert(params.end(), extra_params->begin(), extra_params->end()); } - params.push_back(pair(RGW_SYS_PARAM_PREFIX "zonegroup", zone_group)); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", zone_group)); RGWStreamIntoBufferlist cb(bl); @@ -199,7 +199,7 @@ int RGWRESTConn::get_resource(const string& resource, RGWRESTReadResource::RGWRESTReadResource(RGWRESTConn *_conn, const string& _resource, const rgw_http_param_pair *pp, - list > *extra_headers, + param_list_t *extra_headers, RGWHTTPManager *_mgr) : cct(_conn->get_ctx()), conn(_conn), resource(_resource), cb(bl), mgr(_mgr), req(cct, conn->get_url(), &cb, NULL, NULL) { while (pp && pp->key) { @@ -213,8 +213,8 @@ RGWRESTReadResource::RGWRESTReadResource(RGWRESTConn *_conn, RGWRESTReadResource::RGWRESTReadResource(RGWRESTConn *_conn, const string& _resource, - list >& _params, - list > *extra_headers, + param_list_t& _params, + param_list_t *extra_headers, RGWHTTPManager *_mgr) : cct(_conn->get_ctx()), conn(_conn), resource(_resource), params(_params), cb(bl), mgr(_mgr), req(cct, conn->get_url(), &cb, NULL, NULL) @@ -222,9 +222,9 @@ RGWRESTReadResource::RGWRESTReadResource(RGWRESTConn *_conn, init_common(extra_headers); } -void RGWRESTReadResource::init_common(list > *extra_headers) +void RGWRESTReadResource::init_common(param_list_t *extra_headers) { - params.push_back(pair(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_zonegroup())); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_zonegroup())); if (extra_headers) { headers.insert(extra_headers->begin(), extra_headers->end()); @@ -262,7 +262,7 @@ int RGWRESTReadResource::aio_read() RGWRESTPostResource::RGWRESTPostResource(RGWRESTConn *_conn, const string& _resource, const rgw_http_param_pair *pp, - list > *extra_headers, + param_list_t *extra_headers, RGWHTTPManager *_mgr) : cct(_conn->get_ctx()), conn(_conn), resource(_resource), cb(bl), mgr(_mgr), req(cct, "POST", conn->get_url(), &cb, NULL, NULL) { while (pp && pp->key) { @@ -272,7 +272,7 @@ RGWRESTPostResource::RGWRESTPostResource(RGWRESTConn *_conn, ++pp; } - params.push_back(pair(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_zonegroup())); + params.push_back(param_pair_t(RGW_SYS_PARAM_PREFIX "zonegroup", conn->get_zonegroup())); if (extra_headers) { headers.insert(extra_headers->begin(), extra_headers->end()); diff --git a/src/rgw/rgw_rest_conn.h b/src/rgw/rgw_rest_conn.h index c5ca9cb60e2d8..0648e602a41db 100644 --- a/src/rgw/rgw_rest_conn.h +++ b/src/rgw/rgw_rest_conn.h @@ -36,6 +36,10 @@ struct rgw_http_param_pair { const char *val; }; +using param_pair_t = pair; +// TODO: consider vector instead of list +using param_list_t = std::list; + class RGWRESTConn { CephContext *cct; @@ -74,19 +78,19 @@ public: int complete_request(RGWRESTStreamReadRequest *req, string& etag, time_t *mtime, map& attrs); int get_resource(const string& resource, - list > *extra_params, + param_list_t *extra_params, map* extra_headers, bufferlist& bl, RGWHTTPManager *mgr = NULL); template - int get_json_resource(const string& resource, list > *params, T& t); + int get_json_resource(const string& resource, param_list_t *params, T& t); template int get_json_resource(const string& resource, const rgw_http_param_pair *pp, T& t); }; template -int RGWRESTConn::get_json_resource(const string& resource, list > *params, T& t) +int RGWRESTConn::get_json_resource(const string& resource, param_list_t *params, T& t) { bufferlist bl; int ret = get_resource(resource, params, NULL, bl); @@ -105,7 +109,7 @@ int RGWRESTConn::get_json_resource(const string& resource, list int RGWRESTConn::get_json_resource(const string& resource, const rgw_http_param_pair *pp, T& t) { - list > params; + param_list_t params; while (pp && pp->key) { string k = pp->key; @@ -131,7 +135,7 @@ class RGWRESTReadResource : public RefCountedObject { CephContext *cct; RGWRESTConn *conn; string resource; - list > params; + param_list_t params; map headers; bufferlist bl; RGWStreamIntoBufferlist cb; @@ -139,19 +143,19 @@ class RGWRESTReadResource : public RefCountedObject { RGWHTTPManager *mgr; RGWRESTStreamReadRequest req; - void init_common(list > *extra_headers); + void init_common(param_list_t *extra_headers); public: RGWRESTReadResource(RGWRESTConn *_conn, const string& _resource, const rgw_http_param_pair *pp, - list > *extra_headers, + param_list_t *extra_headers, RGWHTTPManager *_mgr); RGWRESTReadResource(RGWRESTConn *_conn, const string& _resource, - list >& _params, - list > *extra_headers, + param_list_t& _params, + param_list_t *extra_headers, RGWHTTPManager *_mgr); void set_user_info(void *user_info) { @@ -247,7 +251,7 @@ class RGWRESTPostResource : public RefCountedObject { CephContext *cct; RGWRESTConn *conn; string resource; - list > params; + param_list_t params; map headers; bufferlist bl; RGWStreamIntoBufferlist cb; @@ -259,7 +263,7 @@ public: RGWRESTPostResource(RGWRESTConn *_conn, const string& _resource, const rgw_http_param_pair *pp, - list > *extra_headers, + param_list_t *extra_headers, RGWHTTPManager *_mgr); void set_user_info(void *user_info) { -- 2.39.5