geekbot/WikipediaApi/WikipediaClient.cs

25 lines
810 B
C#
Raw Normal View History

2018-04-30 23:44:19 +02:00
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
using WikipediaApi.Page;
namespace WikipediaApi
{
public class WikipediaClient : IWikipediaClient
{
private readonly HttpClient _httpClient;
public WikipediaClient()
{
_httpClient = new HttpClient();
}
public async Task<PagePreview> GetPreview(string pageName, string language = "en")
{
var response = await _httpClient.GetAsync($"https://{language}.wikipedia.org/api/rest_v1/page/summary/{pageName}");
response.EnsureSuccessStatusCode();
var stringResponse = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<PagePreview>(stringResponse);
}
}
}