From cbe5a86427298f707307e3f5e02ee8fb9daaf9fa Mon Sep 17 00:00:00 2001 From: lvshanchun Date: Wed, 29 Nov 2017 16:49:11 +0800 Subject: [PATCH] rgw: avoid use Chunked transfer encoding in RGW's request Signed-off-by: lvshanchun --- src/rgw/rgw_rest_client.cc | 2 ++ src/rgw/rgw_rest_conn.cc | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_rest_client.cc b/src/rgw/rgw_rest_client.cc index 01d6674e1ca1e..1dee8713301cb 100644 --- a/src/rgw/rgw_rest_client.cc +++ b/src/rgw/rgw_rest_client.cc @@ -700,9 +700,11 @@ int RGWRESTStreamRWRequest::do_send_prepare(RGWAccessKey *key, maplength()); set_outbl(*send_data); send_data_hint = true; } + method = new_info.method; url = new_url; diff --git a/src/rgw/rgw_rest_conn.cc b/src/rgw/rgw_rest_conn.cc index dbca6d6713013..1b0712f9c7ec2 100644 --- a/src/rgw/rgw_rest_conn.cc +++ b/src/rgw/rgw_rest_conn.cc @@ -437,7 +437,9 @@ void RGWRESTSendResource::init_common(param_vec_t *extra_headers) int RGWRESTSendResource::send(bufferlist& outbl) { + req.set_send_length(outbl.length()); req.set_outbl(outbl); + 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; @@ -451,7 +453,9 @@ int RGWRESTSendResource::send(bufferlist& outbl) int RGWRESTSendResource::aio_send(bufferlist& outbl) { + req.set_send_length(outbl.length()); req.set_outbl(outbl); + 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; @@ -460,4 +464,3 @@ int RGWRESTSendResource::aio_send(bufferlist& outbl) return 0; } - -- 2.39.5