> 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
v8::Isolate* isolate, AtomBrowserContext* browser_context) {
  auto existing = TrackableObject::FromWrappedClass(isolate, browser_context);
  if (existing)
    return mate::CreateHandle(isolate, static_cast<Session*>(existing));
  auto handle = mate::CreateHandle(
      isolate, new Session(isolate, browser_context));
  g_wrap_session.Run(handle.ToV8());
  return handle;
}
mate::Handle<Session> Session::FromPartition(
    v8::Isolate* isolate, const std::string& partition,
    const base::DictionaryValue& options) {
  scoped_refptr<AtomBrowserContext> browser_context;
  if (partition.empty()) {
    browser_context = AtomBrowserContext::From("", false, options);
  } else if (base::StartsWith(partition, kPersistPrefix,
                              base::CompareCase::SENSITIVE)) {
    std::string name = partition.substr(8);
    browser_context = AtomBrowserContext::From(name, false, options);
  } else {
    browser_context = AtomBrowserContext::From(partition, true, options);
  }
  return CreateFrom(isolate, browser_context.get());
}
void Session::BuildPrototype(v8::Isolate* isolate,