using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System; using System.Net.Http; using System.Threading.Tasks; namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http { public class StandardHttpClient : IHttpClient { private HttpClient _client; private ILogger _logger; public HttpClient Inst => _client; public StandardHttpClient(ILogger logger) { _client = new HttpClient(); _logger = logger; } public Task GetStringAsync(string uri) => _client.GetStringAsync(uri); public Task PostAsync(string uri, T item) { var contentString = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json"); return _client.PostAsync(uri, contentString); } public Task DeleteAsync(string uri) => _client.DeleteAsync(uri); } }