libweave: Remove chromeos/url_utils.h includes

Code is just inlined.

BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave`

Change-Id: I61990c758e8fb9bfec35efeed3bf9db8c3975feb
Reviewed-on: https://chromium-review.googlesource.com/293587
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/libweave/src/device_registration_info.cc b/libweave/src/device_registration_info.cc
index 59f5dde..6696134 100644
--- a/libweave/src/device_registration_info.cc
+++ b/libweave/src/device_registration_info.cc
@@ -18,7 +18,7 @@
 #include <chromeos/bind_lambda.h>
 #include <chromeos/key_value_store.h>
 #include <chromeos/strings/string_utils.h>
-#include <chromeos/url_utils.h>
+#include <chromeos/data_encoding.h>
 #include <weave/http_client.h>
 #include <weave/network.h>
 #include <weave/task_runner.h>
@@ -75,11 +75,25 @@
   }
 }
 
+std::string AppendQueryParams(
+    const std::string& url,
+    const chromeos::data_encoding::WebParamList& params) {
+  CHECK_EQ(std::string::npos, url.find_first_of("?#"));
+  if (params.empty())
+    return url;
+  return url + '?' + chromeos::data_encoding::WebParamsEncode(params);
+}
+
 std::string BuildURL(const std::string& url,
-                     const std::vector<std::string>& subpaths,
+                     const std::string& subpath,
                      const chromeos::data_encoding::WebParamList& params) {
-  std::string result = chromeos::url::CombineMultiple(url, subpaths);
-  return chromeos::url::AppendQueryParams(result, params);
+  std::string result = url;
+  if (!result.empty() && result.back() != '/' && !subpath.empty()) {
+    CHECK_NE('/', subpath.front());
+    result += '/';
+  }
+  result += subpath;
+  return AppendQueryParams(result, params);
 }
 
 void IgnoreCloudError(const chromeos::Error*) {
@@ -243,7 +257,7 @@
 std::string DeviceRegistrationInfo::GetServiceURL(
     const std::string& subpath,
     const chromeos::data_encoding::WebParamList& params) const {
-  return BuildURL(config_->service_url(), {subpath}, params);
+  return BuildURL(config_->service_url(), subpath, params);
 }
 
 std::string DeviceRegistrationInfo::GetDeviceURL(
@@ -251,13 +265,13 @@
     const chromeos::data_encoding::WebParamList& params) const {
   CHECK(!config_->device_id().empty()) << "Must have a valid device ID";
   return BuildURL(config_->service_url(),
-                  {"devices", config_->device_id(), subpath}, params);
+                  "devices/" + config_->device_id() + "/" + subpath, params);
 }
 
 std::string DeviceRegistrationInfo::GetOAuthURL(
     const std::string& subpath,
     const chromeos::data_encoding::WebParamList& params) const {
-  return BuildURL(config_->oauth_url(), {subpath}, params);
+  return BuildURL(config_->oauth_url(), subpath, params);
 }
 
 void DeviceRegistrationInfo::Start() {