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

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

Issue 2025443002: Refactoring data reduction proxy some methods to common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing nits Created 4 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
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 332679067f5fadb8fb37fb125f9c835dd158a9a8..e72d249aa3e6a73af14d6fc71c3909d8c39f94e3 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
@@ -14,43 +14,38 @@
#include "base/json/json_writer.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/sparse_histogram.h"
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.h"
-#include "components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_event_creator.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_util.h"
#include "components/data_reduction_proxy/proto/client_config.pb.h"
#include "net/base/host_port_pair.h"
#include "net/base/load_flags.h"
#include "net/base/load_timing_info.h"
#include "net/base/net_errors.h"
-#include "net/base/url_util.h"
#include "net/http/http_network_session.h"
#include "net/http/http_request_headers.h"
#include "net/http/http_response_headers.h"
#include "net/http/http_status_code.h"
#include "net/proxy/proxy_server.h"
#include "net/url_request/url_fetcher.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
#include "net/url_request/url_request_status.h"
-#if defined(USE_GOOGLE_API_KEYS)
-#include "google_apis/google_api_keys.h"
-#endif
-
namespace data_reduction_proxy {
namespace {
// Key of the UMA DataReductionProxy.ConfigService.FetchResponseCode histogram.
const char kUMAConfigServiceFetchResponseCode[] =
"DataReductionProxy.ConfigService.FetchResponseCode";
// Key of the UMA
// DataReductionProxy.ConfigService.FetchFailedAttemptsBeforeSuccess histogram.
@@ -64,63 +59,47 @@ const char kUMAConfigServiceFetchLatency[] =
// Key of the UMA DataReductionProxy.ConfigService.AuthExpired histogram.
const char kUMAConfigServiceAuthExpired[] =
"DataReductionProxy.ConfigService.AuthExpired";
#if defined(OS_ANDROID)
// Maximum duration to wait before fetching the config, while the application
// is in background.
const uint32_t kMaxBackgroundFetchIntervalSeconds = 6 * 60 * 60; // 6 hours.
#endif
-#if defined(USE_GOOGLE_API_KEYS)
-// Used in all Data Reduction Proxy URLs to specify API Key.
-const char kApiKeyName[] = "key";
-#endif
-
// This is the default backoff policy used to communicate with the Data
// Reduction Proxy configuration service.
const net::BackoffEntry::Policy kDefaultBackoffPolicy = {
0, // num_errors_to_ignore
1 * 1000, // initial_delay_ms
4, // multiply_factor
0.10, // jitter_factor,
30 * 60 * 1000, // maximum_backoff_ms
-1, // entry_lifetime_ms
true, // always_use_initial_delay
};
// Extracts the list of Data Reduction Proxy servers to use for HTTP requests.
std::vector<net::ProxyServer> GetProxiesForHTTP(
const data_reduction_proxy::ProxyConfig& proxy_config) {
std::vector<net::ProxyServer> proxies;
for (const auto& server : proxy_config.http_proxy_servers()) {
if (server.scheme() != ProxyServer_ProxyScheme_UNSPECIFIED) {
proxies.push_back(net::ProxyServer(
- config_parser::SchemeFromProxyScheme(server.scheme()),
+ protobuf_parser::SchemeFromProxyScheme(server.scheme()),
net::HostPortPair(server.host(), server.port())));
}
}
return proxies;
}
-GURL AddApiKeyToUrl(const GURL& url) {
- GURL new_url = url;
-#if defined(USE_GOOGLE_API_KEYS)
- std::string api_key = google_apis::GetAPIKey();
- if (google_apis::HasKeysConfigured() && !api_key.empty()) {
- new_url = net::AppendOrReplaceQueryParameter(url, kApiKeyName, api_key);
- }
-#endif
- return net::AppendOrReplaceQueryParameter(new_url, "alt", "proto");
-}
-
void RecordAuthExpiredHistogram(bool auth_expired) {
UMA_HISTOGRAM_BOOLEAN(kUMAConfigServiceAuthExpired, auth_expired);
}
// Records whether the session key used in the request matches the current
// sesssion key.
void RecordAuthExpiredSessionKey(bool matches) {
// This enum must remain synchronized with the
// DataReductionProxyConfigServiceAuthExpiredSessionKey enum in
// metrics/histograms/histograms.xml.
@@ -447,21 +426,21 @@ void DataReductionProxyConfigServiceClient::HandleResponse(
succeeded = ParseAndApplyProxyConfig(config);
}
// These are proxies listed in the config. The proxies that client eventually
// ends up using depend on the field trials.
std::vector<net::ProxyServer> proxies;
base::TimeDelta refresh_duration;
if (succeeded) {
proxies = GetProxiesForHTTP(config.proxy_config());
refresh_duration =
- config_parser::DurationToTimeDelta(config.refresh_duration());
+ protobuf_parser::DurationToTimeDelta(config.refresh_duration());
DCHECK(!config_fetch_start_time_.is_null());
base::TimeDelta configuration_fetch_latency =
base::TimeTicks::Now() - config_fetch_start_time_;
RecordAuthExpiredHistogram(false);
UMA_HISTOGRAM_MEDIUM_TIMES(kUMAConfigServiceFetchLatency,
configuration_fetch_latency);
UMA_HISTOGRAM_COUNTS_100(kUMAConfigServiceFetchFailedAttemptsBeforeSuccess,
failed_attempts_before_success_);
failed_attempts_before_success_ = 0;

Powered by Google App Engine
This is Rietveld 408576698