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() {