From: Radoslaw Zarzynski Date: Thu, 17 Sep 2015 16:05:56 +0000 (+0200) Subject: rgw: add support for printing generic attrs on Swift account. X-Git-Tag: v10.0.1~126^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8c2b8b7e3d24d9c159d782cfb9e22e93c4e72e5f;p=ceph.git rgw: add support for printing generic attrs on Swift account. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index cfb447a4699e..12b5855ad8c3 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -84,15 +84,18 @@ static void dump_account_metadata(struct req_state * const s, } } - /* Dump user-defined metadata items */ + /* Dump user-defined metadata items and generic attrs. */ const size_t PREFIX_LEN = sizeof(RGW_ATTR_META_PREFIX) - 1; map::iterator iter; - for (iter = attrs.lower_bound(RGW_ATTR_META_PREFIX); iter != attrs.end(); ++iter) { + for (iter = attrs.lower_bound(RGW_ATTR_PREFIX); iter != attrs.end(); ++iter) { const char *name = iter->first.c_str(); - if (strncmp(name, RGW_ATTR_META_PREFIX, PREFIX_LEN) == 0) { + map::const_iterator geniter = rgw_to_http_attrs.find(name); + + if (geniter != rgw_to_http_attrs.end() && + geniter->first.compare(RGW_ATTR_CONTENT_TYPE) != 0) { + s->cio->print("%s: %s\r\n", geniter->second.c_str(), iter->second.c_str()); + } else if (strncmp(name, RGW_ATTR_META_PREFIX, PREFIX_LEN) == 0) { s->cio->print("X-Account-Meta-%s: %s\r\n", name + PREFIX_LEN, iter->second.c_str()); - } else { - break; } } }