> proxyRules = schemeProxies[";"<schemeProxies>]
> schemeProxies = [<urlScheme>"="]<proxyURIList>
> urlScheme = "http" | "https" | "ftp" | "socks"
> proxyURIList = <proxyURL>[","<proxyURIList>]
> proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]

atom/browser/api/atom_api_session.cc
const net::ProxyConfig& config,
                  const base::Closure& callback) {
  auto proxy_service = getter->GetURLRequestContext()->proxy_service();
  proxy_service->ResetConfigService(base::WrapUnique(
      new net::ProxyConfigServiceFixed(config)));
  
  proxy_service->ForceReloadProxyConfig();
  RunCallbackInUI(callback);
}
void SetCertVerifyProcInIO(
    const scoped_refptr<net::URLRequestContextGetter>& context_getter,
    const AtomCertVerifier::VerifyProc& proc) {
  auto request_context = context_getter->GetURLRequestContext();
  static_cast<AtomCertVerifier*>(request_context->cert_verifier())->
      SetVerifyProc(proc);
}
void ClearHostResolverCacheInIO(
    const scoped_refptr<net::URLRequestContextGetter>& context_getter,
    const base::Closure& callback) {
  auto request_context = context_getter->GetURLRequestContext();
  auto cache = request_context->host_resolver()->GetHostCache();
  if (cache) {
    cache->clear();
    DCHECK_EQ(0u, cache->size());
    if (!callback.is_null())
      RunCallbackInUI(callback);
  }
}
void AllowNTLMCredentialsForDomainsInIO(