示例#1
0
        public async Task <ArticlesRootObject> GetFeaturedArticles()
        {
            var articles = new ArticlesRootObject();

            try
            {
                var client = CreateClient();
                if (client.DefaultRequestHeaders.CacheControl == null)
                {
                    client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue();
                }
                client.DefaultRequestHeaders.CacheControl.NoCache = true;
                client.DefaultRequestHeaders.IfModifiedSince      = DateTime.UtcNow;
                client.DefaultRequestHeaders.CacheControl.NoStore = true;
                client.Timeout = new TimeSpan(0, 0, 30);

                var request = "http://104.197.171.160:5000/articles?categories=0+1";
                HttpResponseMessage apiResponse = client.GetAsync(request).Result;

                var apiContent = await apiResponse.Content.ReadAsStringAsync();

                articles.Articles = JsonConvert.DeserializeObject <List <Article> >(apiContent);

                client.Dispose();
            }
            catch (Exception ex)
            {
                //await App.Current.MainPage.DisplayAlert("Warning", string.Format("Error: {0}", ex.Message), "OK");
            }

            return(articles);
        }
示例#2
0
        public List <Article> GetLatestArticles()
        {
            RestRequest articlesRequest = new RestRequest(ArticlesUrl, Method.GET);

            articlesRequest.AddHeader("X-Application-Name", String.Format("MimerConsumer: {0}", ApiKey));
            RestSharp.IRestResponse <ArticlesRootObject> response = Client.Execute <ArticlesRootObject>(articlesRequest);
            if (!response.IsSuccessful)
            {
                Log.WriteException(Log.Level.Critical, $"GetLatestArticles() failed", response.ErrorException);
            }
            ArticlesRootObject articlesRoot = response.Data;

            return(articlesRoot?.data ?? new List <Article>());
        }