url_encode(obj.key.name, urlsafe_object);
string resource = urlsafe_bucket + "/" + urlsafe_object;
- return send_request(key, extra_headers, resource, mgr);
+ return send_request(&key, extra_headers, resource, mgr);
}
-int RGWRESTStreamRWRequest::send_request(RGWAccessKey& key, map<string, string>& extra_headers, const string& resource, RGWHTTPManager *mgr)
+int RGWRESTStreamRWRequest::send_request(RGWAccessKey *key, map<string, string>& extra_headers, const string& resource, RGWHTTPManager *mgr)
{
string new_url = url;
if (new_url[new_url.size() - 1] != '/')
new_info.init_meta_info(NULL);
- int ret = sign_request(key, new_env, new_info);
- if (ret < 0) {
- ldout(cct, 0) << "ERROR: failed to sign request" << dendl;
- return ret;
+ if (key) {
+ int ret = sign_request(*key, new_env, new_info);
+ if (ret < 0) {
+ ldout(cct, 0) << "ERROR: failed to sign request" << dendl;
+ return ret;
+ }
}
map<string, string, ltstr_nocase>& m = new_env.get_map();
}
virtual ~RGWRESTStreamRWRequest() override {}
int send_request(RGWAccessKey& key, map<string, string>& extra_headers, rgw_obj& obj, RGWHTTPManager *mgr = NULL);
- int send_request(RGWAccessKey& key, map<string, string>& extra_headers, const string& resource, RGWHTTPManager *mgr = NULL);
+ int send_request(RGWAccessKey *key, map<string, string>& extra_headers, const string& resource, RGWHTTPManager *mgr = NULL);
int complete_request(string& etag, real_time *mtime, uint64_t *psize, map<string, string>& attrs);
void set_outbl(bufferlist& _outbl) {
headers.insert(extra_headers->begin(), extra_headers->end());
}
- ret = req.send_request(key, headers, resource, mgr);
+ ret = req.send_request(&key, headers, resource, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
int RGWRESTReadResource::read()
{
- int ret = req.send_request(conn->get_key(), headers, resource, mgr);
+ int ret = req.send_request(&conn->get_key(), headers, resource, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
int RGWRESTReadResource::aio_read()
{
- int ret = req.send_request(conn->get_key(), headers, resource, mgr);
+ int ret = req.send_request(&conn->get_key(), headers, resource, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
int RGWRESTSendResource::send(bufferlist& outbl)
{
req.set_outbl(outbl);
- int ret = req.send_request(conn->get_key(), headers, resource, mgr);
+ int ret = req.send_request(&conn->get_key(), headers, resource, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
int RGWRESTSendResource::aio_send(bufferlist& outbl)
{
req.set_outbl(outbl);
- int ret = req.send_request(conn->get_key(), headers, resource, mgr);
+ int ret = req.send_request(&conn->get_key(), headers, resource, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
virtual uint32_t op_mask() { return RGW_OP_TYPE_READ; }
};
-void RGWMetadataSearch::pre_exec()
+void RGWMetadataSearchOp::pre_exec()
{
rgw_bucket_object_pre_exec(s);
}
-void RGWMetadataSearch::execute()
+void RGWMetadataSearchOp::execute()
{
op_ret = get_params();
if (op_ret < 0)
// conn->
}
-class RGWMetadataSearch_ObjStore_S3 : public RGWMetadataSearch {
+class RGWMetadataSearch_ObjStore_S3 : public RGWMetadataSearchOp {
public:
- RGWMetadataSearch_ObjStore_S3(RGWElasticSyncModuleInstance *_es_module) : RGWMetadataSearch(_es_module) {}
+ RGWMetadataSearch_ObjStore_S3(RGWElasticSyncModuleInstance *_es_module) : RGWMetadataSearchOp(_es_module) {}
int get_params() override {
expression = s->info.args.get("query");
if (!s->info.args.exists("query")) {
return nullptr;
}
- return new RGWMetadataSearch_ObjStore_S3;
+ return new RGWMetadataSearch_ObjStore_S3(es_module);
}
RGWOp *op_head() {
return nullptr;