public Worker CreateWorker(Browser browser, string url, int timeout = 30)
{
if (browser == null)
throw new ArgumentNullException("browser");
if (string.IsNullOrEmpty(url))
throw new ArgumentNullException("url");
using (var client = new WebClient())
{
client.Headers.Add("authorization", authToken);
client.QueryString.Add("os", browser.OsName);
client.QueryString.Add("os_version", browser.OsVersion);
client.QueryString.Add("browser", browser.BrowserName);
client.QueryString.Add("browser_version", browser.BrowserVersion);
client.QueryString.Add("device", browser.Device);
client.QueryString.Add("timeout", timeout.ToString());
client.QueryString.Add("url", HttpUtility.UrlEncode(url));
var data = client.UploadString(Url + "/worker", string.Empty);
return new Worker(((JObject)JsonConvert.DeserializeObject(data))["id"].Value<string>(), authToken);
}
}