Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc

Issue 1139923004: Add the API key to the config service request. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bengr CR comment Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
index d6895cd73208fcc784a84b0eab66fdf3df41f721..f0e1e02ce476e13ec451beb7df4a4a0d2020b58f 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc
@@ -24,8 +24,10 @@
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
#include "components/data_reduction_proxy/proto/client_config.pb.h"
+#include "google_apis/google_api_keys.h"
#include "net/base/host_port_pair.h"
#include "net/base/load_flags.h"
+#include "net/base/url_util.h"
#include "net/http/http_status_code.h"
#include "net/proxy/proxy_server.h"
#include "net/url_request/url_fetcher.h"
@@ -51,6 +53,9 @@ const char kUMAConfigServiceFetchLatency[] =
// Default URL for retrieving the Data Reduction Proxy configuration.
const char kClientConfigURL[] = "";
+// Used in all Data Reduction Proxy URLs to specify API Key.
+const char kApiKeyName[] = "key";
+
// This is the default backoff policy used to communicate with the Data
// Reduction Proxy configuration service.
const net::BackoffEntry::Policy kDefaultBackoffPolicy = {
@@ -98,6 +103,14 @@ base::TimeDelta CalculateNextConfigRefreshTime(
return backoff_delay;
}
+GURL AddApiKeyToUrl(const GURL& url) {
+ std::string api_key = google_apis::GetAPIKey();
+ if (api_key.empty())
+ return url;
+
+ return net::AppendQueryParameter(url, kApiKeyName, api_key);
+}
+
} // namespace
const net::BackoffEntry::Policy& GetBackoffPolicy() {
@@ -136,8 +149,8 @@ DataReductionProxyConfigServiceClient::DataReductionProxyConfigServiceClient(
event_creator_(event_creator),
net_log_(net_log),
backoff_entry_(&backoff_policy),
- config_service_url_(
- GetConfigServiceURL(*base::CommandLine::ForCurrentProcess())),
+ config_service_url_(AddApiKeyToUrl(
+ GetConfigServiceURL(*base::CommandLine::ForCurrentProcess()))),
use_local_config_(!config_service_url_.is_valid()),
url_request_context_getter_(nullptr) {
DCHECK(request_options);
@@ -165,7 +178,12 @@ void DataReductionProxyConfigServiceClient::RetrieveConfig() {
DCHECK(thread_checker_.CalledOnValidThread());
bound_net_log_ = net::BoundNetLog::Make(
net_log_, net::NetLog::SOURCE_DATA_REDUCTION_PROXY);
- event_creator_->BeginConfigRequest(bound_net_log_, config_service_url_);
+ // Strip off query string parameters
+ GURL::Replacements replacements;
+ replacements.ClearQuery();
+ GURL base_config_service_url =
+ config_service_url_.ReplaceComponents(replacements);
+ event_creator_->BeginConfigRequest(bound_net_log_, base_config_service_url);
config_fetch_start_time_ = base::Time::Now();
if (use_local_config_) {
ReadAndApplyStaticConfig();
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698