libchromeos: Cleaned up HTTP utilities
Renamed http utilities by appending ...AndBlock() to make it
obvious that they are blocking (synchronous) calls. Async I/O
is coming in subsequent CLs.
Replaced a bunch of "const char*" with "const std::string&" in
function prototypes.
Also removed extra overloads for http_utils functions in preparation
for adding asynchronous API which would bloat the overloads even more.
The original overloads were to provide the ability to omit some
less-commonly-used parameters, but that would eventually make the API
harder to choose from since the number of overloads will get out of hand.
Swept the code to remove unnecessary calls to std::string::c_str() and
added omitted parameters in calls to http_utils functions.
BUG=None
TEST=FEATURES=test emerge-link libchromeos peerd privetd feedback metrics buffet
CQ-DEPEND=CL:*191319
Change-Id: I9c1721cd2179ba3b389dd94ef181370eec98ed2e
Reviewed-on: https://chromium-review.googlesource.com/239251
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/device_registration_info.cc b/buffet/device_registration_info.cc
index 6336c5d..ed9876a 100644
--- a/buffet/device_registration_info.cc
+++ b/buffet/device_registration_info.cc
@@ -282,12 +282,12 @@
return true;
}
- auto response = chromeos::http::PostFormData(GetOAuthURL("token"), {
+ auto response = chromeos::http::PostFormDataAndBlock(GetOAuthURL("token"), {
{"refresh_token", refresh_token_},
{"client_id", client_id_},
{"client_secret", client_secret_},
{"grant_type", "refresh_token"},
- }, transport_, error);
+ }, {}, transport_, error);
if (!response)
return false;
@@ -351,7 +351,7 @@
return std::unique_ptr<base::Value>();
// TODO(antonm): Switch to DoCloudRequest later.
- auto response = chromeos::http::Get(
+ auto response = chromeos::http::GetAndBlock(
GetDeviceURL(), {GetAuthorizationHeader()}, transport_, error);
int status_code = 0;
std::unique_ptr<base::DictionaryValue> json =
@@ -408,7 +408,7 @@
auto url = GetServiceURL("registrationTickets/" + ticket_id_,
{{"key", api_key_}});
std::unique_ptr<chromeos::http::Response> response =
- chromeos::http::PatchJson(url, &req_json, transport_, error);
+ chromeos::http::PatchJsonAndBlock(url, &req_json, {}, transport_, error);
auto json_resp = chromeos::http::ParseJsonResponse(response.get(), nullptr,
error);
if (!json_resp)
@@ -425,7 +425,8 @@
url = GetServiceURL("registrationTickets/" + ticket_id_ +
"/finalize?key=" + api_key_);
- response = chromeos::http::PostBinary(url, nullptr, 0, transport_, error);
+ response = chromeos::http::SendRequestWithNoDataAndBlock(
+ chromeos::http::request_type::kPost, url, {}, transport_, error);
if (!response)
return std::string();
json_resp = chromeos::http::ParseJsonResponse(response.get(), nullptr, error);
@@ -447,14 +448,14 @@
}
// Now get access_token and refresh_token
- response = chromeos::http::PostFormData(GetOAuthURL("token"), {
+ response = chromeos::http::PostFormDataAndBlock(GetOAuthURL("token"), {
{"code", auth_code},
{"client_id", client_id_},
{"client_secret", client_secret_},
{"redirect_uri", "oob"},
{"scope", "https://www.googleapis.com/auth/clouddevices"},
{"grant_type", "authorization_code"}
- }, transport_, error);
+ }, {}, transport_, error);
if (!response)
return std::string();
@@ -532,10 +533,10 @@
}
};
- chromeos::http::Request request(url, method.c_str(), transport);
+ chromeos::http::Request request(url, method, transport);
request.AddHeaders(headers);
if (!data.empty()) {
- request.SetContentType(mime_type.c_str());
+ request.SetContentType(mime_type);
if (!request.AddRequestBody(data.c_str(), data.size(), &error)) {
on_retriable_failure();
return;
@@ -543,7 +544,7 @@
}
std::unique_ptr<chromeos::http::Response> response{
- request.GetResponse(&error)};
+ request.GetResponseAndBlock(&error)};
if (!response) {
on_retriable_failure();
return;