Index: components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc |
diff --git a/components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc b/components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc |
deleted file mode 100644 |
index 586ad6851441669428874ec4e6b6925e33a392b9..0000000000000000000000000000000000000000 |
--- a/components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc |
+++ /dev/null |
@@ -1,166 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.h" |
- |
-#include <string> |
- |
-#include "base/json/json_reader.h" |
-#include "base/strings/stringprintf.h" |
-#include "base/time/time.h" |
-#include "base/values.h" |
- |
-namespace { |
- |
-// String representations of ProxyServer schemes. |
-const char kSchemeHTTP[] = "HTTP"; |
-const char kSchemeHTTPS[] = "HTTPS"; |
-const char kSchemeQUIC[] = "QUIC"; |
-const char kSchemeUnspecified[] = "UNSPECIFIED"; |
- |
-} // namespace |
- |
-namespace data_reduction_proxy { |
- |
-namespace config_parser { |
- |
-std::string GetSchemeString(net::ProxyServer::Scheme scheme) { |
- switch (scheme) { |
- case net::ProxyServer::SCHEME_HTTP: |
- return kSchemeHTTP; |
- case net::ProxyServer::SCHEME_HTTPS: |
- return kSchemeHTTPS; |
- case net::ProxyServer::SCHEME_QUIC: |
- return kSchemeQUIC; |
- default: |
- return kSchemeUnspecified; |
- } |
-} |
- |
-net::ProxyServer::Scheme SchemeFromProxyScheme( |
- ProxyServer_ProxyScheme proxy_scheme) { |
- switch (proxy_scheme) { |
- case ProxyServer_ProxyScheme_HTTP: |
- return net::ProxyServer::SCHEME_HTTP; |
- case ProxyServer_ProxyScheme_HTTPS: |
- return net::ProxyServer::SCHEME_HTTPS; |
- case ProxyServer_ProxyScheme_QUIC: |
- return net::ProxyServer::SCHEME_QUIC; |
- default: |
- return net::ProxyServer::SCHEME_INVALID; |
- } |
-} |
- |
-ProxyServer_ProxyScheme GetProxyScheme(const std::string& scheme) { |
- if (scheme == kSchemeHTTP) |
- return ProxyServer_ProxyScheme_HTTP; |
- |
- if (scheme == kSchemeHTTPS) |
- return ProxyServer_ProxyScheme_HTTPS; |
- |
- if (scheme == kSchemeQUIC) |
- return ProxyServer_ProxyScheme_QUIC; |
- |
- return ProxyServer_ProxyScheme_UNSPECIFIED; |
-} |
- |
-std::string TimeToISO8601(const base::Time& time) { |
- base::Time::Exploded exploded; |
- time.UTCExplode(&exploded); |
- return base::StringPrintf( |
- "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ", exploded.year, exploded.month, |
- exploded.day_of_month, exploded.hour, exploded.minute, exploded.second, |
- exploded.millisecond); |
-} |
- |
-bool ISO8601ToTimestamp(const std::string& time, Timestamp* timestamp) { |
- base::Time t; |
- if (!base::Time::FromUTCString(time.c_str(), &t)) |
- return false; |
- |
- timestamp->set_seconds((t - base::Time::UnixEpoch()).InSeconds()); |
- // Discard fractional seconds; it isn't worth the code effort to |
- // calculate it. |
- timestamp->set_nanos(0); |
- return true; |
-} |
- |
-base::Time TimestampToTime(const Timestamp& timestamp) { |
- base::Time t = base::Time::UnixEpoch(); |
- t += base::TimeDelta::FromSeconds(timestamp.seconds()); |
- t += base::TimeDelta::FromMicroseconds( |
- timestamp.nanos() / base::Time::kNanosecondsPerMicrosecond); |
- return t; |
-} |
- |
-bool ParseClientConfig(const std::string& config_data, ClientConfig* config) { |
- scoped_ptr<base::Value> parsed_data(base::JSONReader::Read(config_data)); |
- if (!parsed_data) |
- return false; |
- |
- const base::DictionaryValue* parsed_dict; |
- if (!parsed_data->GetAsDictionary(&parsed_dict)) |
- return false; |
- |
- std::string session_key; |
- if (!parsed_dict->GetString("sessionKey", &session_key)) |
- return false; |
- |
- config->set_session_key(session_key); |
- |
- std::string expire_time; |
- if (!parsed_dict->GetString("expireTime", &expire_time)) |
- return false; |
- |
- if (!ISO8601ToTimestamp(expire_time, config->mutable_expire_time())) |
- return false; |
- |
- const base::DictionaryValue* proxy_config_dict; |
- if (!parsed_dict->GetDictionary("proxyConfig", &proxy_config_dict)) |
- return false; |
- |
- ProxyConfig* proxy_config = config->mutable_proxy_config(); |
- |
- const base::ListValue* http_proxy_servers; |
- if (!proxy_config_dict->GetList("httpProxyServers", &http_proxy_servers)) |
- return false; |
- |
- base::ListValue::const_iterator it = http_proxy_servers->begin(); |
- for (; it != http_proxy_servers->end(); ++it) { |
- const base::DictionaryValue* server_value; |
- if (!(*it)->GetAsDictionary(&server_value)) { |
- continue; |
- } |
- |
- std::string scheme; |
- std::string host; |
- int port; |
- if (!server_value->GetString("scheme", &scheme)) { |
- continue; |
- } |
- |
- if (!server_value->GetString("host", &host)) { |
- continue; |
- } |
- |
- if (!server_value->GetInteger("port", &port)) { |
- continue; |
- } |
- |
- ProxyServer_ProxyScheme proxy_scheme = GetProxyScheme(scheme); |
- if (proxy_scheme == ProxyServer_ProxyScheme_UNSPECIFIED) |
- continue; |
- |
- ProxyServer* proxy_server = proxy_config->add_http_proxy_servers(); |
- proxy_server->set_scheme(GetProxyScheme(scheme)); |
- proxy_server->set_host(host); |
- proxy_server->set_port(port); |
- } |
- |
- return true; |
-} |
- |
-} // namespace config_parser |
- |
-} // namespace data_reduction_proxy |