]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: avoid use Chunked transfer encoding in RGW's request
authorlvshanchun <lvshanchun@gmail.com>
Wed, 29 Nov 2017 08:49:11 +0000 (16:49 +0800)
committerYehuda Sadeh <yehuda@redhat.com>
Thu, 12 Apr 2018 22:38:37 +0000 (15:38 -0700)
Signed-off-by: lvshanchun <lvshanchun@gmail.com>
src/rgw/rgw_rest_client.cc
src/rgw/rgw_rest_conn.cc

index 01d6674e1ca1eefb15b9b822227ce5229cbcdb30..1dee8713301cb23d36598403b2507559a97e6b8e 100644 (file)
@@ -700,9 +700,11 @@ int RGWRESTStreamRWRequest::do_send_prepare(RGWAccessKey *key, map<string, strin
   }
 
   if (send_data) {
+    set_send_length(send_data->length());
     set_outbl(*send_data);
     send_data_hint = true;
   }
+  
 
   method = new_info.method;
   url = new_url;
index dbca6d6713013e0c8dc69f0aba94d65e371cf535..1b0712f9c7ec2cd382d9e84fdfff583718c7f952 100644 (file)
@@ -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;
 }
-