param_vec_t *extra_params,
map<string, string> *extra_headers,
bufferlist& bl,
+ bufferlist *send_data,
RGWHTTPManager *mgr)
{
string url;
headers.insert(extra_headers->begin(), extra_headers->end());
}
- ret = req.send_request(&key, headers, resource, nullptr, mgr);
+ ret = req.send_request(&key, headers, resource, send_data, mgr);
if (ret < 0) {
ldout(cct, 5) << __func__ << ": send_request() resource=" << resource << " returned ret=" << ret << dendl;
return ret;
int get_resource(const string& resource,
param_vec_t *extra_params,
map<string, string>* extra_headers,
- bufferlist& bl, RGWHTTPManager *mgr = NULL);
+ bufferlist& bl,
+ bufferlist *send_data = nullptr,
+ RGWHTTPManager *mgr = nullptr);
+ template <class T>
+ int get_json_resource(const string& resource, param_vec_t *params, bufferlist *in_data, T& t);
template <class T>
int get_json_resource(const string& resource, param_vec_t *params, T& t);
template <class T>
template<class T>
-int RGWRESTConn::get_json_resource(const string& resource, param_vec_t *params, T& t)
+int RGWRESTConn::get_json_resource(const string& resource, param_vec_t *params, bufferlist *in_data, T& t)
{
bufferlist bl;
- int ret = get_resource(resource, params, NULL, bl);
+ int ret = get_resource(resource, params, nullptr, bl, in_data);
if (ret < 0) {
return ret;
}
return 0;
}
+template<class T>
+int RGWRESTConn::get_json_resource(const string& resource, param_vec_t *params, T& t)
+{
+ return get_json_resource(resource, params, nullptr, t);
+}
+
template<class T>
int RGWRESTConn::get_json_resource(const string& resource, const rgw_http_param_pair *pp, T& t)
{