public async Task <string> GetLatestReleaseFromServer() { version = null; downloadLink = null; try { HttpWebRequest request = webRequestFactory.CreateGetRequest("https://api.github.com/repos/tumblthreeapp/tumblthree/releases/latest"); string result = await webRequestFactory.ReadRequestToEndAsync(request); XmlDictionaryReader jsonReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(result), new XmlDictionaryReaderQuotas()); XElement root = XElement.Load(jsonReader); version = root.Element("tag_name").Value; if (Environment.Is64BitProcess) { downloadLink = root.Descendants("browser_download_url").Where(s => s.Value.Contains("x64-App")).FirstOrDefault()?.Value; } else { downloadLink = root.Descendants("browser_download_url").Where(s => s.Value.Contains("x86-App")).FirstOrDefault()?.Value; } if (string.IsNullOrEmpty(downloadLink)) { downloadLink = root.Element("assets").Element("item").Element("browser_download_url").Value; } } catch (Exception exception) { Logger.Error(exception.ToString()); return(exception.Message); } return(null); }
private async Task <string> GetRequestAsync() { const string requestUrl = "https://www.tumblr.com/"; HttpWebRequest request = webRequestFactory.CreateGetRequest(requestUrl); return(await webRequestFactory.ReadRequestToEndAsync(request)); }
public async Task <string> GetTumblrUsernameAsync() { try { const string tumblrAccountSettingsUrl = "https://www.tumblr.com/settings/account"; var request = webRequestFactory.CreateGetRequest(tumblrAccountSettingsUrl); cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/")); var document = await webRequestFactory.ReadRequestToEndAsync(request).ConfigureAwait(false); return(ExtractTumblrUsername(document)); } catch (Exception ex) { if (ex.GetType() == typeof(WebException)) { var we = (WebException)ex; if (we.Response != null && ((HttpWebResponse)we.Response).StatusCode == HttpStatusCode.NotFound) { return(null); } } Logger.Error("LoginService.GetTumblrUsernameAsync: {0}", ex); throw; } }
public async Task <string> GetTumblrUsernameAsync() { const string tumblrAccountSettingsUrl = "https://www.tumblr.com/settings/account"; var request = webRequestFactory.CreateGetRequest(tumblrAccountSettingsUrl); cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/")); var document = await webRequestFactory.ReadRequestToEndAsync(request).ConfigureAwait(false); return(ExtractTumblrUsername(document)); }
private async Task <string> GetPage(string url) { HttpWebRequest request = webRequestFactory.CreateGetRequest(url); string page; using (var response = await request.GetResponseAsync().TimeoutAfter(shellService.Settings.TimeOut) as HttpWebResponse) { page = await webRequestFactory.ReadRequestToEndAsync(request); } return(page); }
public virtual async Task <string> RequestImgurAlbumSite(string imgurAlbumUrl) { var requestRegistration = new CancellationTokenRegistration(); try { HttpWebRequest request = webRequestFactory.CreateGetRequest(imgurAlbumUrl); requestRegistration = ct.Register(() => request.Abort()); return(await webRequestFactory.ReadRequestToEndAsync(request)); } finally { requestRegistration.Dispose(); } }
public virtual async Task <string> RequestGfycatCajax(string gfyId) { var requestRegistration = new CancellationTokenRegistration(); try { string url = @"https://gfycat.com/cajax/get/" + gfyId; HttpWebRequest request = webRequestFactory.CreateGetXhrRequest(url); requestRegistration = ct.Register(() => request.Abort()); return(await webRequestFactory.ReadRequestToEndAsync(request)); } finally { requestRegistration.Dispose(); } }
public async Task <string> GetLatestReleaseFromServer() { version = null; downloadLink = null; try { HttpWebRequest request = webRequestFactory.CreateGetRequest("https://api.github.com/repos/tumblthreeapp/tumblthree/releases/latest"); string result = await webRequestFactory.ReadRequestToEndAsync(request); XmlDictionaryReader jsonReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(result), new XmlDictionaryReaderQuotas()); XElement root = XElement.Load(jsonReader); version = root.Element("tag_name").Value; downloadLink = root.Element("assets").Element("item").Element("browser_download_url").Value; } catch (Exception exception) { Logger.Error(exception.ToString()); return(exception.Message); } return(null); }