// Copyright (c) 2009 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 "net/proxy/proxy_config_service_common_unittest.h" #include <string> #include <vector> #include "net/proxy/proxy_config.h" namespace net { ProxyConfig::ProxyRules MakeProxyRules( ProxyConfig::ProxyRules::Type type, const char* single_proxy, const char* proxy_for_http, const char* proxy_for_https, const char* proxy_for_ftp, const char* socks_proxy) { ProxyConfig::ProxyRules rules; rules.type = type; rules.single_proxy = ProxyServer::FromURI(single_proxy, ProxyServer::SCHEME_HTTP); rules.proxy_for_http = ProxyServer::FromURI(proxy_for_http, ProxyServer::SCHEME_HTTP); rules.proxy_for_https = ProxyServer::FromURI(proxy_for_https, ProxyServer::SCHEME_HTTP); rules.proxy_for_ftp = ProxyServer::FromURI(proxy_for_ftp, ProxyServer::SCHEME_HTTP); rules.socks_proxy = ProxyServer::FromURI(socks_proxy, ProxyServer::SCHEME_SOCKS4); return rules; } ProxyConfig::ProxyRules MakeSingleProxyRules(const char* single_proxy) { return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, single_proxy, "", "", "", ""); } ProxyConfig::ProxyRules MakeProxyPerSchemeRules( const char* proxy_http, const char* proxy_https, const char* proxy_ftp) { return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, "", proxy_http, proxy_https, proxy_ftp, ""); } ProxyConfig::ProxyRules MakeProxyPerSchemeRules( const char* proxy_http, const char* proxy_https, const char* proxy_ftp, const char* socks_proxy) { return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, "", proxy_http, proxy_https, proxy_ftp, socks_proxy); } std::string FlattenProxyBypass(const BypassList& proxy_bypass) { std::string flattened_proxy_bypass; for (BypassList::const_iterator it = proxy_bypass.begin(); it != proxy_bypass.end(); ++it) { flattened_proxy_bypass += *it + "\n"; } return flattened_proxy_bypass; } } // namespace net