#include "net/proxy_resolution/proxy_bypass_rules.h"
#include "base/strings/string_tokenizer.h"
#include "base/strings/string_util.h"
#include "build/build_config.h"
#include "net/base/url_util.h"
namespace net {
namespace {
const char kSubtractImplicitBypasses[] = …;
const char kBypassSimpleHostnames[] = …;
bool IsLinkLocalIP(const GURL& url) { … }
bool IsIPv4MappedLoopback(const GURL& url) { … }
class BypassSimpleHostnamesRule : public SchemeHostPortMatcherRule { … };
class SubtractImplicitBypassesRule : public SchemeHostPortMatcherRule { … };
std::unique_ptr<SchemeHostPortMatcherRule> ParseRule(
std::string_view raw_untrimmed) { … }
}
constexpr char net::ProxyBypassRules::kBypassListDelimeter[];
ProxyBypassRules::ProxyBypassRules() = default;
ProxyBypassRules::ProxyBypassRules(const ProxyBypassRules& rhs) { … }
ProxyBypassRules::ProxyBypassRules(ProxyBypassRules&& rhs) { … }
ProxyBypassRules::~ProxyBypassRules() = default;
ProxyBypassRules& ProxyBypassRules::operator=(const ProxyBypassRules& rhs) { … }
ProxyBypassRules& ProxyBypassRules::operator=(ProxyBypassRules&& rhs) { … }
void ProxyBypassRules::ReplaceRule(
size_t index,
std::unique_ptr<SchemeHostPortMatcherRule> rule) { … }
bool ProxyBypassRules::Matches(const GURL& url, bool reverse) const { … }
bool ProxyBypassRules::operator==(const ProxyBypassRules& other) const { … }
void ProxyBypassRules::ParseFromString(const std::string& raw) { … }
void ProxyBypassRules::PrependRuleToBypassSimpleHostnames() { … }
bool ProxyBypassRules::AddRuleFromString(std::string_view raw_untrimmed) { … }
void ProxyBypassRules::AddRulesToSubtractImplicit() { … }
std::string ProxyBypassRules::GetRulesToSubtractImplicit() { … }
std::string ProxyBypassRules::ToString() const { … }
void ProxyBypassRules::Clear() { … }
bool ProxyBypassRules::MatchesImplicitRules(const GURL& url) { … }
}