Remove request id from HTTP client

This is not used for anything but debug logging

BUG:24267885
Change-Id: Ia17a6f4288c8e2430db502bcc7efe5e392961990
Reviewed-on: https://weave-review.googlesource.com/1280
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/examples/ubuntu/curl_http_client.cc b/libweave/examples/ubuntu/curl_http_client.cc
index 3e996e3..1b1e21f 100644
--- a/libweave/examples/ubuntu/curl_http_client.cc
+++ b/libweave/examples/ubuntu/curl_http_client.cc
@@ -14,9 +14,9 @@
 namespace {
 
 struct ResponseImpl : public provider::HttpClient::Response {
-  int GetStatusCode() const { return status; }
-  std::string GetContentType() const { return content_type; }
-  const std::string& GetData() const { return data; }
+  int GetStatusCode() const override { return status; }
+  std::string GetContentType() const override { return content_type; }
+  const std::string& GetData() const override { return data; }
 
   int status;
   std::string content_type;
@@ -106,41 +106,37 @@
   return std::move(response);
 }
 
-int CurlHttpClient::SendRequest(const std::string& method,
-                                const std::string& url,
-                                const Headers& headers,
-                                const std::string& data,
-                                const SuccessCallback& success_callback,
-                                const ErrorCallback& error_callback) {
-  ++request_id_;
+void CurlHttpClient::SendRequest(const std::string& method,
+                                 const std::string& url,
+                                 const Headers& headers,
+                                 const std::string& data,
+                                 const SuccessCallback& success_callback,
+                                 const ErrorCallback& error_callback) {
   ErrorPtr error;
   auto response = SendRequestAndBlock(method, url, headers, data, &error);
   if (response) {
     task_runner_->PostDelayedTask(
         FROM_HERE, base::Bind(&CurlHttpClient::RunSuccessCallback,
                               weak_ptr_factory_.GetWeakPtr(), success_callback,
-                              request_id_, base::Passed(&response)),
+                              base::Passed(&response)),
         {});
   } else {
     task_runner_->PostDelayedTask(
         FROM_HERE, base::Bind(&CurlHttpClient::RunErrorCallback,
                               weak_ptr_factory_.GetWeakPtr(), error_callback,
-                              request_id_, base::Passed(&error)),
+                              base::Passed(&error)),
         {});
   }
-  return request_id_;
 }
 
 void CurlHttpClient::RunSuccessCallback(const SuccessCallback& success_callback,
-                                        int id,
                                         std::unique_ptr<Response> response) {
-  success_callback.Run(id, *response);
+  success_callback.Run(*response);
 }
 
 void CurlHttpClient::RunErrorCallback(const ErrorCallback& error_callback,
-                                      int id,
                                       ErrorPtr error) {
-  error_callback.Run(id, error.get());
+  error_callback.Run(error.get());
 }
 
 }  // namespace examples
diff --git a/libweave/examples/ubuntu/curl_http_client.h b/libweave/examples/ubuntu/curl_http_client.h
index 853b797..7d62b3d 100644
--- a/libweave/examples/ubuntu/curl_http_client.h
+++ b/libweave/examples/ubuntu/curl_http_client.h
@@ -29,23 +29,20 @@
                                                 const Headers& headers,
                                                 const std::string& data,
                                                 ErrorPtr* error) override;
-  int SendRequest(const std::string& method,
-                  const std::string& url,
-                  const Headers& headers,
-                  const std::string& data,
-                  const SuccessCallback& success_callback,
-                  const ErrorCallback& error_callback) override;
+  void SendRequest(const std::string& method,
+                   const std::string& url,
+                   const Headers& headers,
+                   const std::string& data,
+                   const SuccessCallback& success_callback,
+                   const ErrorCallback& error_callback) override;
 
  private:
   void RunSuccessCallback(const SuccessCallback& success_callback,
-                          int id,
                           std::unique_ptr<Response> response);
   void RunErrorCallback(const ErrorCallback& error_callback,
-                        int id,
                         ErrorPtr error);
 
   provider::TaskRunner* task_runner_{nullptr};
-  int request_id_ = 0;
 
   base::WeakPtrFactory<CurlHttpClient> weak_ptr_factory_{this};
 };
diff --git a/libweave/examples/ubuntu/event_http_client.cc b/libweave/examples/ubuntu/event_http_client.cc
index bdf265c..f81916c 100644
--- a/libweave/examples/ubuntu/event_http_client.cc
+++ b/libweave/examples/ubuntu/event_http_client.cc
@@ -47,8 +47,8 @@
 
 class EventHttpResponse : public weave::provider::HttpClient::Response {
  public:
-  int GetStatusCode() const { return status; }
-  std::string GetContentType() const { return content_type; }
+  int GetStatusCode() const override { return status; }
+  std::string GetContentType() const override { return content_type; }
   const std::string& GetData() const { return data; }
 
   int status;
@@ -58,7 +58,6 @@
 
 struct EventRequestState {
   TaskRunner* task_runner_;
-  int request_id_;
   std::unique_ptr<evhttp_uri, EventDeleter> http_uri_;
   std::unique_ptr<evhttp_connection, EventDeleter> evcon_;
   HttpClient::SuccessCallback success_callback_;
@@ -75,9 +74,7 @@
                        "request failed: %s",
                        evutil_socket_error_to_string(err));
     state->task_runner_->PostDelayedTask(
-        FROM_HERE,
-        base::Bind(state->error_callback_, state->request_id_, error.get()),
-        {});
+        FROM_HERE, base::Bind(state->error_callback_, error.get()), {});
     return;
   }
   std::unique_ptr<EventHttpResponse> response{new EventHttpResponse()};
@@ -88,8 +85,7 @@
   auto n = evbuffer_remove(buffer, &response->data[0], length);
   CHECK_EQ(n, int(length));
   state->task_runner_->PostDelayedTask(
-      FROM_HERE,
-      base::Bind(state->success_callback_, state->request_id_, *response), {});
+      FROM_HERE, base::Bind(state->success_callback_, *response), {});
 }
 
 }  // namespace
@@ -106,14 +102,12 @@
   return nullptr;
 }
 
-int EventHttpClient::SendRequest(const std::string& method,
-                                 const std::string& url,
-                                 const Headers& headers,
-                                 const std::string& data,
-                                 const SuccessCallback& success_callback,
-                                 const ErrorCallback& error_callback) {
-  ++request_id_;
-
+void EventHttpClient::SendRequest(const std::string& method,
+                                  const std::string& url,
+                                  const Headers& headers,
+                                  const std::string& data,
+                                  const SuccessCallback& success_callback,
+                                  const ErrorCallback& error_callback) {
   evhttp_cmd_type method_id;
   CHECK(weave::StringToEnum(method, &method_id));
   std::unique_ptr<evhttp_uri, EventDeleter> http_uri{
@@ -142,9 +136,8 @@
   CHECK(conn);
   std::unique_ptr<evhttp_request, EventDeleter> req{evhttp_request_new(
       &RequestDoneCallback,
-      new EventRequestState{task_runner_, request_id_, std::move(http_uri),
-                            std::move(conn), success_callback,
-                            error_callback})};
+      new EventRequestState{task_runner_, std::move(http_uri), std::move(conn),
+                            success_callback, error_callback})};
   CHECK(req);
   auto output_headers = evhttp_request_get_output_headers(req.get());
   evhttp_add_header(output_headers, "Host", host);
@@ -158,15 +151,13 @@
   }
   auto res =
       evhttp_make_request(conn.get(), req.release(), method_id, uri.c_str());
-  if (res < 0) {
-    ErrorPtr error;
-    Error::AddToPrintf(&error, FROM_HERE, "http_client", "request_failed",
-                       "request failed: %s %s", method.c_str(), url.c_str());
-    task_runner_->PostDelayedTask(
-        FROM_HERE, base::Bind(error_callback, request_id_, error.get()), {});
-    return request_id_;
-  }
-  return request_id_;
+  if (res >= 0)
+    return;
+  ErrorPtr error;
+  Error::AddToPrintf(&error, FROM_HERE, "http_client", "request_failed",
+                     "request failed: %s %s", method.c_str(), url.c_str());
+  task_runner_->PostDelayedTask(FROM_HERE,
+                                base::Bind(error_callback, error.get()), {});
 }
 
 }  // namespace examples
diff --git a/libweave/examples/ubuntu/event_http_client.h b/libweave/examples/ubuntu/event_http_client.h
index 65e764e..c38ad2e 100644
--- a/libweave/examples/ubuntu/event_http_client.h
+++ b/libweave/examples/ubuntu/event_http_client.h
@@ -25,16 +25,15 @@
                                                 const Headers& headers,
                                                 const std::string& data,
                                                 ErrorPtr* error) override;
-  int SendRequest(const std::string& method,
-                  const std::string& url,
-                  const Headers& headers,
-                  const std::string& data,
-                  const SuccessCallback& success_callback,
-                  const ErrorCallback& error_callback) override;
+  void SendRequest(const std::string& method,
+                   const std::string& url,
+                   const Headers& headers,
+                   const std::string& data,
+                   const SuccessCallback& success_callback,
+                   const ErrorCallback& error_callback) override;
 
  private:
   EventTaskRunner* task_runner_{nullptr};
-  int request_id_ = 0;
 
   base::WeakPtrFactory<EventHttpClient> weak_ptr_factory_{this};
 };
diff --git a/libweave/include/weave/provider/http_client.h b/libweave/include/weave/provider/http_client.h
index 9671f0d..cfc8937 100644
--- a/libweave/include/weave/provider/http_client.h
+++ b/libweave/include/weave/provider/http_client.h
@@ -28,8 +28,8 @@
   };
 
   using Headers = std::vector<std::pair<std::string, std::string>>;
-  using SuccessCallback = base::Callback<void(int, const Response&)>;
-  using ErrorCallback = base::Callback<void(int, const Error*)>;
+  using SuccessCallback = base::Callback<void(const Response&)>;
+  using ErrorCallback = base::Callback<void(const Error*)>;
 
   // TODO(vitalybuka): Remove blocking version.
   virtual std::unique_ptr<Response> SendRequestAndBlock(
@@ -39,12 +39,12 @@
       const std::string& data,
       ErrorPtr* error) = 0;
 
-  virtual int SendRequest(const std::string& method,
-                          const std::string& url,
-                          const Headers& headers,
-                          const std::string& data,
-                          const SuccessCallback& success_callback,
-                          const ErrorCallback& error_callback) = 0;
+  virtual void SendRequest(const std::string& method,
+                           const std::string& url,
+                           const Headers& headers,
+                           const std::string& data,
+                           const SuccessCallback& success_callback,
+                           const ErrorCallback& error_callback) = 0;
 
  protected:
   virtual ~HttpClient() = default;
diff --git a/libweave/include/weave/provider/test/mock_http_client.h b/libweave/include/weave/provider/test/mock_http_client.h
index 21af699..86aca46 100644
--- a/libweave/include/weave/provider/test/mock_http_client.h
+++ b/libweave/include/weave/provider/test/mock_http_client.h
@@ -40,12 +40,12 @@
                                                 const std::string& data,
                                                 ErrorPtr* error) override;
 
-  int SendRequest(const std::string& method,
-                  const std::string& url,
-                  const Headers& headers,
-                  const std::string& data,
-                  const SuccessCallback& success_callback,
-                  const ErrorCallback& error_callback) override;
+  void SendRequest(const std::string& method,
+                   const std::string& url,
+                   const Headers& headers,
+                   const std::string& data,
+                   const SuccessCallback& success_callback,
+                   const ErrorCallback& error_callback) override;
 };
 
 }  // namespace test
diff --git a/libweave/src/device_registration_info.cc b/libweave/src/device_registration_info.cc
index adb1994..8975c19 100644
--- a/libweave/src/device_registration_info.cc
+++ b/libweave/src/device_registration_info.cc
@@ -124,10 +124,32 @@
                                            data_, error);
   }
 
-  int Send(const HttpClient::SuccessCallback& success_callback,
-           const HttpClient::ErrorCallback& error_callback) {
-    return transport_->SendRequest(method_, url_, GetFullHeaders(), data_,
-                                   success_callback, error_callback);
+  void Send(const HttpClient::SuccessCallback& success_callback,
+            const HttpClient::ErrorCallback& error_callback) {
+    static int debug_id = 0;
+    ++debug_id;
+    VLOG(1) << "Sending request. id:" << debug_id << " method:" << method_
+            << " url:" << url_;
+    VLOG(2) << "Request data: " << data_;
+    auto on_success = [](int debug_id,
+                         const HttpClient::SuccessCallback& success_callback,
+                         const HttpClient::Response& response) {
+      VLOG(1) << "Request succeeded. id:" << debug_id << " status:" <<
+      response.GetStatusCode();
+      VLOG(2) << "Response data: " << response.GetData();
+      success_callback.Run(response);
+    };
+    auto on_error = [](int debug_id,
+                       const HttpClient::ErrorCallback& error_callback,
+                       const Error* error) {
+      VLOG(1) << "Request failed, id=" << debug_id
+              << ", reason: " << error->GetCode()
+              << ", message: " << error->GetMessage();
+      error_callback.Run(error);
+    };
+    transport_->SendRequest(method_, url_, GetFullHeaders(), data_,
+                            base::Bind(on_success, debug_id, success_callback),
+                            base::Bind(on_error, debug_id, error_callback));
   }
 
   void SetAccessToken(const std::string& access_token) {
@@ -372,23 +394,20 @@
       {"client_secret", GetSettings().client_secret},
       {"grant_type", "refresh_token"},
   });
-  int request_id = sender.Send(
-      base::Bind(&DeviceRegistrationInfo::OnRefreshAccessTokenSuccess,
-                 weak_factory_.GetWeakPtr(), shared_success_callback,
-                 shared_error_callback),
-      base::Bind(&DeviceRegistrationInfo::OnRefreshAccessTokenError,
-                 weak_factory_.GetWeakPtr(), shared_success_callback,
-                 shared_error_callback));
-  VLOG(1) << "Refresh access token request dispatched. Request ID = "
-          << request_id;
+  sender.Send(base::Bind(&DeviceRegistrationInfo::OnRefreshAccessTokenSuccess,
+                         weak_factory_.GetWeakPtr(), shared_success_callback,
+                         shared_error_callback),
+              base::Bind(&DeviceRegistrationInfo::OnRefreshAccessTokenError,
+                         weak_factory_.GetWeakPtr(), shared_success_callback,
+                         shared_error_callback));
+  VLOG(1) << "Refresh access token request dispatched";
 }
 
 void DeviceRegistrationInfo::OnRefreshAccessTokenSuccess(
     const std::shared_ptr<base::Closure>& success_callback,
     const std::shared_ptr<ErrorCallback>& error_callback,
-    int id,
     const HttpClient::Response& response) {
-  VLOG(1) << "Refresh access token request with ID " << id << " completed";
+  VLOG(1) << "Refresh access token request completed";
   oauth2_backoff_entry_->InformOfRequest(true);
   ErrorPtr error;
   auto json = ParseOAuthResponse(response, &error);
@@ -424,9 +443,8 @@
 void DeviceRegistrationInfo::OnRefreshAccessTokenError(
     const std::shared_ptr<base::Closure>& success_callback,
     const std::shared_ptr<ErrorCallback>& error_callback,
-    int id,
     const Error* error) {
-  VLOG(1) << "Refresh access token request with ID " << id << " failed";
+  VLOG(1) << "Refresh access token failed";
   oauth2_backoff_entry_->InformOfRequest(false);
   RefreshAccessToken(*success_callback, *error_callback);
 }
@@ -662,8 +680,6 @@
   // forget about 5xx when fetching new access token).
   // TODO(antonm): Add support for device removal.
 
-  VLOG(1) << "Sending cloud request '" << data->method << "' to '" << data->url
-          << "' with request body '" << data->body << "'";
   ErrorPtr error;
   if (!VerifyRegistrationCredentials(&error)) {
     data->error_callback.Run(error.get());
@@ -684,21 +700,16 @@
   RequestSender sender{data->method, data->url, http_client_};
   sender.SetData(data->body, http::kJsonUtf8);
   sender.SetAccessToken(access_token_);
-  int request_id =
-      sender.Send(base::Bind(&DeviceRegistrationInfo::OnCloudRequestSuccess,
-                             AsWeakPtr(), data),
-                  base::Bind(&DeviceRegistrationInfo::OnCloudRequestError,
-                             AsWeakPtr(), data));
-  VLOG(1) << "Cloud request with ID " << request_id << " successfully sent";
+  sender.Send(base::Bind(&DeviceRegistrationInfo::OnCloudRequestSuccess,
+                         AsWeakPtr(), data),
+              base::Bind(&DeviceRegistrationInfo::OnCloudRequestError,
+                         AsWeakPtr(), data));
 }
 
 void DeviceRegistrationInfo::OnCloudRequestSuccess(
     const std::shared_ptr<const CloudRequestData>& data,
-    int request_id,
     const HttpClient::Response& response) {
   int status_code = response.GetStatusCode();
-  VLOG(1) << "Response for cloud request with ID " << request_id
-          << " received with status code " << status_code;
   if (status_code == http::kDenied) {
     cloud_backoff_entry_->InformOfRequest(true);
     RefreshAccessToken(
@@ -746,9 +757,7 @@
 
 void DeviceRegistrationInfo::OnCloudRequestError(
     const std::shared_ptr<const CloudRequestData>& data,
-    int request_id,
     const Error* error) {
-  VLOG(1) << "Cloud request with ID " << request_id << " failed";
   RetryCloudRequest(data);
 }
 
diff --git a/libweave/src/device_registration_info.h b/libweave/src/device_registration_info.h
index 3a57982..74bf3a8 100644
--- a/libweave/src/device_registration_info.h
+++ b/libweave/src/device_registration_info.h
@@ -155,12 +155,10 @@
   void OnRefreshAccessTokenSuccess(
       const std::shared_ptr<base::Closure>& success_callback,
       const std::shared_ptr<ErrorCallback>& error_callback,
-      int id,
       const provider::HttpClient::Response& response);
   void OnRefreshAccessTokenError(
       const std::shared_ptr<base::Closure>& success_callback,
       const std::shared_ptr<ErrorCallback>& error_callback,
-      int id,
       const Error* error);
 
   // Parse the OAuth response, and sets registration status to
@@ -195,10 +193,8 @@
   void SendCloudRequest(const std::shared_ptr<const CloudRequestData>& data);
   void OnCloudRequestSuccess(
       const std::shared_ptr<const CloudRequestData>& data,
-      int request_id,
       const provider::HttpClient::Response& response);
   void OnCloudRequestError(const std::shared_ptr<const CloudRequestData>& data,
-                           int request_id,
                            const Error* error);
   void RetryCloudRequest(const std::shared_ptr<const CloudRequestData>& data);
   void OnAccessTokenRefreshed(
diff --git a/libweave/src/test/mock_http_client.cc b/libweave/src/test/mock_http_client.cc
index b17645c..94cbe08 100644
--- a/libweave/src/test/mock_http_client.cc
+++ b/libweave/src/test/mock_http_client.cc
@@ -21,21 +21,20 @@
       MockSendRequest(method, url, headers, data, error)};
 }
 
-int MockHttpClient::SendRequest(const std::string& method,
-                                const std::string& url,
-                                const Headers& headers,
-                                const std::string& data,
-                                const SuccessCallback& success_callback,
-                                const ErrorCallback& error_callback) {
+void MockHttpClient::SendRequest(const std::string& method,
+                                 const std::string& url,
+                                 const Headers& headers,
+                                 const std::string& data,
+                                 const SuccessCallback& success_callback,
+                                 const ErrorCallback& error_callback) {
   ErrorPtr error;
   std::unique_ptr<Response> response{
       MockSendRequest(method, url, headers, data, &error)};
   if (response) {
-    success_callback.Run(0, *response);
+    success_callback.Run(*response);
   } else {
-    error_callback.Run(0, error.get());
+    error_callback.Run(error.get());
   }
-  return 0;
 }
 
 }  // namespace test