// Copyright (c) 2020 Tudor Stanciu using Tuitio.PublishedLanguage.Dto; using Tuitio.Wrapper.Constants; using Tuitio.Wrapper.Models; using Netmash.Extensions.Http; using System; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; namespace Tuitio.Wrapper.Services { internal class TuitioService : ITuitioService { private const string _contentType = "application/json"; private readonly HttpClient _httpClient; public TuitioService(HttpClient httpClient, ServiceConfiguration configuration) { httpClient.BaseAddress = new Uri(configuration.BaseAddress); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_contentType)); _httpClient = httpClient; } public async Task Authenticate(string userName, string password) { var route = string.Format(ApiRoutes.Authentication, userName, password); var result = await _httpClient.ExecutePostRequest(route); return result; } public async Task Authorize(string token) { var route = string.Format(ApiRoutes.Authorization, token); var result = await _httpClient.ExecutePostRequest(route); return result; } } }