> 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
std::unique_ptr<brightray::DevToolsNetworkConditions> conditions;
  browser_context_->network_controller_handle()->SetNetworkState(
      devtools_network_emulation_client_id_, std::move(conditions));
  browser_context_->network_delegate()->SetDevToolsNetworkEmulationClientId(
      std::string());
}
void Session::SetCertVerifyProc(v8::Local<v8::Value> val,
                                mate::Arguments* args) {
  AtomCertVerifier::VerifyProc proc;
  if (!(val->IsNull() || mate::ConvertFromV8(args->isolate(), val, &proc))) {
    args->ThrowError("Must pass null or function");
    return;
  }
  BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
      base::Bind(&SetCertVerifyProcInIO,
                 make_scoped_refptr(browser_context_->GetRequestContext()),
                 proc));
}
void Session::SetPermissionRequestHandler(v8::Local<v8::Value> val,
                                          mate::Arguments* args) {
  AtomPermissionManager::RequestHandler handler;
  if (!(val->IsNull() || mate::ConvertFromV8(args->isolate(), val, &handler))) {
    args->ThrowError("Must pass null or function");
    return;
  }
  auto permission_manager = static_cast<AtomPermissionManager*>(
      browser_context()->GetPermissionManager());
  permission_manager->SetPermissionRequestHandler(handler);
}
void Session::ClearHostResolverCache(mate::Arguments* args) {