s->formatter->open_object_section_in_ns("ListBucketResult",
"http://s3.amazonaws.com/doc/2006-03-01/");
- s->formatter->dump_string("Name", s->bucket_name);
+ s->formatter->dump_string("Name", s->bucket_name_str.c_str());
if (!prefix.empty())
s->formatter->dump_string("Prefix", prefix);
s->formatter->dump_string("Marker", marker);
string etag_url;
- url_escape(s->bucket_name, bucket);
+ url_escape(s->bucket_name_str, bucket);
url_escape(s->object_str, key);
url_escape(etag_str, etag_url);
s->formatter->open_object_section("PostResponse");
if (g_conf->rgw_dns_name.length())
s->formatter->dump_format("Location", "%s/%s", s->info.script_uri.c_str(), s->object_str.c_str());
- s->formatter->dump_string("Bucket", s->bucket_name);
+ s->formatter->dump_string("Bucket", s->bucket_name_str.c_str());
s->formatter->dump_string("Key", s->object_str.c_str());
s->formatter->close_section();
}
dump_start(s);
s->formatter->open_object_section_in_ns("InitiateMultipartUploadResult",
"http://s3.amazonaws.com/doc/2006-03-01/");
- s->formatter->dump_string("Bucket", s->bucket_name);
+ s->formatter->dump_string("Bucket", s->bucket_name_str.c_str());
s->formatter->dump_string("Key", s->object);
s->formatter->dump_string("UploadId", upload_id);
s->formatter->close_section();
s->formatter->open_object_section_in_ns("CompleteMultipartUploadResult",
"http://s3.amazonaws.com/doc/2006-03-01/");
if (g_conf->rgw_dns_name.length())
- s->formatter->dump_format("Location", "%s.%s", s->bucket_name, g_conf->rgw_dns_name.c_str());
- s->formatter->dump_string("Bucket", s->bucket_name);
+ s->formatter->dump_format("Location", "%s.%s", s->bucket_name_str.c_str(), g_conf->rgw_dns_name.c_str());
+ s->formatter->dump_string("Bucket", s->bucket_name_str.c_str());
s->formatter->dump_string("Key", s->object);
s->formatter->dump_string("ETag", etag);
s->formatter->close_section();
for (i = 0, test_iter = iter; test_iter != parts.end() && i < max_parts; ++test_iter, ++i) {
cur_max = test_iter->first;
}
- s->formatter->dump_string("Bucket", s->bucket_name);
+ s->formatter->dump_string("Bucket", s->bucket_name_str.c_str());
s->formatter->dump_string("Key", s->object);
s->formatter->dump_string("UploadId", upload_id);
s->formatter->dump_string("StorageClass", "STANDARD");
return;
s->formatter->open_object_section("ListMultipartUploadsResult");
- s->formatter->dump_string("Bucket", s->bucket_name);
+ s->formatter->dump_string("Bucket", s->bucket_name_str.c_str());
if (!prefix.empty())
s->formatter->dump_string("ListMultipartUploadsResult.Prefix", prefix);
string& key_marker = marker.get_key();
first = req;
}
- if (!s->bucket_name) {
+ if (s->bucket_name_str.empty()) {
s->bucket_name_str = first;
- s->bucket_name = strdup(s->bucket_name_str.c_str());
if (pos >= 0) {
string encoded_obj_str = req.substr(pos+1);
int RGWHandler_ObjStore_S3::init(RGWRados *store, struct req_state *s, RGWClientIO *cio)
{
- dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (s->bucket_name ? s->bucket_name : "<NULL>") << dendl;
+ dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (!s->bucket_name_str.empty() ? s->bucket_name_str : "<NULL>") << dendl;
bool relaxed_names = s->cct->_conf->rgw_relaxed_s3_bucket_names;
int ret = validate_bucket_name(s->bucket_name_str, relaxed_names);
if (ret < 0)
return NULL;
- if (!s->bucket_name)
+ if (s->bucket_name_str.empty())
return new RGWHandler_ObjStore_Service_S3;
if (!s->object)
src_bucket_name = s->src_bucket_name;
src_object = s->src_object;
- dest_bucket_name = s->bucket_name;
+ dest_bucket_name = s->bucket_name_str;
dest_object = s->object_str;
return 0;
return 0;
s->bucket_name_str = first;
- s->bucket_name = strdup(s->bucket_name_str.c_str());
-
s->info.effective_uri = "/" + s->bucket_name_str;
int RGWHandler_ObjStore_SWIFT::init(RGWRados *store, struct req_state *s, RGWClientIO *cio)
{
- dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (s->bucket_name ? s->bucket_name : "<NULL>") << dendl;
+ dout(10) << "s->object=" << (s->object ? s->object : "<NULL>") << " s->bucket=" << (!s->bucket_name_str.empty() ? s->bucket_name_str : "<NULL>") << dendl;
int ret = validate_bucket_name(s->bucket_name_str.c_str());
if (ret)
s->src_bucket_name = s->bucket_name_str;
s->src_object = s->object_str;
s->bucket_name_str = dest_bucket_name;
- free(s->bucket_name);
- s->bucket_name = strdup(s->bucket_name_str.c_str());
s->object_str = dest_object;
s->op = OP_PUT;
}
if (ret < 0)
return NULL;
- if (!s->bucket_name)
+ if (s->bucket_name_str.empty())
return new RGWHandler_ObjStore_Service_SWIFT;
if (!s->object)
return new RGWHandler_ObjStore_Bucket_SWIFT;