| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "remoting/host/gcd_rest_client.h" | 5 #include "remoting/host/gcd_rest_client.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| 11 #include "base/bind.h" | 11 #include "base/bind.h" |
| 12 #include "base/callback_helpers.h" | 12 #include "base/callback_helpers.h" |
| 13 #include "base/json/json_writer.h" | 13 #include "base/json/json_writer.h" |
| 14 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
| 15 #include "base/threading/thread_task_runner_handle.h" | 15 #include "base/threading/thread_task_runner_handle.h" |
| 16 #include "base/time/default_clock.h" | 16 #include "base/time/default_clock.h" |
| 17 #include "base/values.h" | 17 #include "base/values.h" |
| 18 #include "net/traffic_annotation/network_traffic_annotation.h" |
| 18 #include "net/url_request/url_fetcher.h" | 19 #include "net/url_request/url_fetcher.h" |
| 19 #include "remoting/base/logging.h" | 20 #include "remoting/base/logging.h" |
| 20 | 21 |
| 21 namespace remoting { | 22 namespace remoting { |
| 22 | 23 |
| 23 GcdRestClient::GcdRestClient(const std::string& gcd_base_url, | 24 GcdRestClient::GcdRestClient(const std::string& gcd_base_url, |
| 24 const std::string& gcd_device_id, | 25 const std::string& gcd_device_id, |
| 25 const scoped_refptr<net::URLRequestContextGetter>& | 26 const scoped_refptr<net::URLRequestContextGetter>& |
| 26 url_request_context_getter, | 27 url_request_context_getter, |
| 27 OAuthTokenGetter* token_getter) | 28 OAuthTokenGetter* token_getter) |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 callback.Run(OTHER_ERROR); | 71 callback.Run(OTHER_ERROR); |
| 71 return; | 72 return; |
| 72 } | 73 } |
| 73 DLOG(INFO) << "sending state patch: " << patch_string; | 74 DLOG(INFO) << "sending state patch: " << patch_string; |
| 74 | 75 |
| 75 std::string url = | 76 std::string url = |
| 76 gcd_base_url_ + "/devices/" + gcd_device_id_ + "/patchState"; | 77 gcd_base_url_ + "/devices/" + gcd_device_id_ + "/patchState"; |
| 77 | 78 |
| 78 // Prepare an HTTP request to issue once an auth token is available. | 79 // Prepare an HTTP request to issue once an auth token is available. |
| 79 callback_ = callback; | 80 callback_ = callback; |
| 80 url_fetcher_ = | 81 net::NetworkTrafficAnnotationTag traffic_annotation = |
| 81 net::URLFetcher::Create(GURL(url), net::URLFetcher::POST, this); | 82 net::DefineNetworkTrafficAnnotation("...", R"( |
| 83 semantics { |
| 84 sender: "..." |
| 85 description: "..." |
| 86 trigger: "..." |
| 87 data: "..." |
| 88 destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER |
| 89 } |
| 90 policy { |
| 91 cookies_allowed: false/true |
| 92 cookies_store: "..." |
| 93 setting: "..." |
| 94 policy { |
| 95 [POLICY_NAME] { |
| 96 policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
| 97 [POLICY_NAME]: ... //(value to disable it) |
| 98 } |
| 99 } |
| 100 policy_exception_justification: "..." |
| 101 })"); |
| 102 url_fetcher_ = net::URLFetcher::Create(GURL(url), net::URLFetcher::POST, this, |
| 103 traffic_annotation); |
| 82 url_fetcher_->SetUploadData("application/json", patch_string); | 104 url_fetcher_->SetUploadData("application/json", patch_string); |
| 83 if (url_request_context_getter_) { | 105 if (url_request_context_getter_) { |
| 84 url_fetcher_->SetRequestContext(url_request_context_getter_.get()); | 106 url_fetcher_->SetRequestContext(url_request_context_getter_.get()); |
| 85 } | 107 } |
| 86 | 108 |
| 87 token_getter_->CallWithToken( | 109 token_getter_->CallWithToken( |
| 88 base::Bind(&GcdRestClient::OnTokenReceived, base::Unretained(this))); | 110 base::Bind(&GcdRestClient::OnTokenReceived, base::Unretained(this))); |
| 89 } | 111 } |
| 90 | 112 |
| 91 void GcdRestClient::SetClockForTest(std::unique_ptr<base::Clock> clock) { | 113 void GcdRestClient::SetClockForTest(std::unique_ptr<base::Clock> clock) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 << ") fetching URL: " << request_url; | 159 << ") fetching URL: " << request_url; |
| 138 status = NETWORK_ERROR; | 160 status = NETWORK_ERROR; |
| 139 } else { | 161 } else { |
| 140 LOG(ERROR) << "Error (" << response << ") fetching URL: " << request_url; | 162 LOG(ERROR) << "Error (" << response << ") fetching URL: " << request_url; |
| 141 } | 163 } |
| 142 | 164 |
| 143 FinishCurrentRequest(status); | 165 FinishCurrentRequest(status); |
| 144 } | 166 } |
| 145 | 167 |
| 146 } // namespace remoting | 168 } // namespace remoting |
| OLD | NEW |