File 2030-src-rgw-rgw_asio_client.cc.patch of Package ceph-ceph-17.2.9

diff --git a/src/rgw/rgw_asio_client.cc b/src/rgw/rgw_asio_client.cc
index a0ec0bf5c06..10d76d18950 100644
--- a/src/rgw/rgw_asio_client.cc
+++ b/src/rgw/rgw_asio_client.cc
@@ -39,11 +39,13 @@ int ClientIO::init_env(CephContext *cct)
     const auto& value = header->value();
 
     if (field == beast::http::field::content_length) {
-      env.set("CONTENT_LENGTH", value.to_string());
+      std::string scratch{value.data(), value.size()};
+      env.set("CONTENT_LENGTH", scratch.c_str());
       continue;
     }
     if (field == beast::http::field::content_type) {
-      env.set("CONTENT_TYPE", value.to_string());
+      std::string scratch{value.data(), value.size()};
+      env.set("CONTENT_TYPE", scratch.c_str());
       continue;
     }
 
@@ -62,26 +64,37 @@ int ClientIO::init_env(CephContext *cct)
     }
     *dest = '\0';
 
-    env.set(buf, value.to_string());
+    std::string scratch{value.data(), value.size()};
+    env.set(buf, scratch.c_str());
   }
 
   int major = request.version() / 10;
   int minor = request.version() % 10;
   env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor));
 
-  env.set("REQUEST_METHOD", request.method_string().to_string());
+  {
+    std::string scratch {request.method_string().data(),request.method_string().size()};
+    env.set("REQUEST_METHOD", scratch.c_str());
+  }
 
   // split uri from query
   auto uri = request.target();
   auto pos = uri.find('?');
   if (pos != uri.npos) {
     auto query = uri.substr(pos + 1);
-    env.set("QUERY_STRING", query.to_string());
+    std::string scratch{query.data(), query.size()};
+    env.set("QUERY_STRING", scratch.c_str());
     uri = uri.substr(0, pos);
   }
-  env.set("SCRIPT_URI", uri.to_string());
+  {
+    std::string scratch {uri.data(), uri.size()};
+    env.set("SCRIPT_URI", scratch.c_str());
+  }
 
-  env.set("REQUEST_URI", request.target().to_string());
+  {
+    std::string scratch {request.target().data(), request.target().size()};
+    env.set("REQUEST_URI", scratch.c_str());
+  }
 
   char port_buf[16];
   snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port());
openSUSE Build Service is sponsored by