static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
net::ProxyConfig* out) {
- std::string proxy;
- if (!ConvertFromV8(isolate, val, &proxy))
+ mate::Dictionary options;
+ if (!ConvertFromV8(isolate, val, &options))
return false;
- auto pac_url = GURL(proxy);
- if (pac_url.is_valid()) {
+ GURL pac_url;
+ std::string rules;
+ if (options.Get("pacScript", &pac_url))
out->set_pac_url(pac_url);
- } else {
- out->proxy_rules().ParseFromString(proxy);
- }
+ else if (options.Get("proxyRules", &rules))
+ out->proxy_rules().ParseFromString(rules);
return true;
}
};
#### `ses.setProxy(config, callback)`
-* `config` String
+* `config` Object
+ * `pacScript` String - The URL associated with the PAC file.
+ * `proxyRules` String - Rules indicating which proxies to use.
* `callback` Function - Called when operation is done.
-If `config` is a PAC url, it is used directly otherwise
-`config` is parsed based on the following rules indicating which
-proxies to use for the session.
-
```
-config = scheme-proxies[";"<scheme-proxies>]
+proxyRules = scheme-proxies[";"<scheme-proxies>]
scheme-proxies = [<url-scheme>"="]<proxy-uri-list>
url-scheme = "http" | "https" | "ftp" | "socks"
proxy-uri-list = <proxy-uri>[","<proxy-uri-list>]