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

Unified Diff: components/data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc

Issue 1020863009: Revert of Add ClientConfig proto, and JSON generation/parsing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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/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

Powered by Google App Engine
This is Rietveld 408576698