Exemplo n.º 1
0
        private async Task <string> GetRequestAsync()
        {
            const string   requestUrl = "https://www.tumblr.com/";
            HttpWebRequest request    = webRequestFactory.CreateGetReqeust(requestUrl);

            return(await webRequestFactory.ReadReqestToEndAsync(request));
        }
Exemplo n.º 2
0
        public async Task <string> GetTumblrUsernameAsync()
        {
            const string tumblrAccountSettingsUrl = "https://www.tumblr.com/settings/account";
            var          request = webRequestFactory.CreateGetReqeust(tumblrAccountSettingsUrl);

            cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/"));
            var document = await webRequestFactory.ReadReqestToEndAsync(request).ConfigureAwait(false);

            return(ExtractTumblrUsername(document));
        }
Exemplo n.º 3
0
        protected async Task <string> RequestDataAsync(string url, Dictionary <string, string> headers = null,
                                                       IEnumerable <string> cookieHosts = null)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(url, "", headers);
                cookieHosts = cookieHosts ?? new List <string>();
                foreach (string cookieHost in cookieHosts)
                {
                    cookieService.GetUriCookie(request.CookieContainer, new Uri(cookieHost));
                }

                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEndAsync(request));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
Exemplo n.º 4
0
        public virtual async Task <string> RequestImgurAlbumSite(string imgurAlbumUrl)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(imgurAlbumUrl);
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEndAsync(request));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
Exemplo n.º 5
0
        public virtual async Task <string> RequestGfycatCajax(string gfyId)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                string         url     = @"https://gfycat.com/cajax/get/" + gfyId;
                HttpWebRequest request = webRequestFactory.CreateGetXhrReqeust(url);
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEndAsync(request));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
Exemplo n.º 6
0
        public async Task <string> GetLatestReleaseFromServer()
        {
            version      = null;
            downloadLink = null;
            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust("https://api.github.com/repos/tumblthreeapp/tumblthree/releases/latest");
                string         result  = await webRequestFactory.ReadReqestToEndAsync(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);
        }