namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services; public class OrderApiClient : IOrderApiClient { private readonly HttpClient _apiClient; private readonly ILogger _logger; private readonly UrlsConfig _urls; public OrderApiClient(HttpClient httpClient, ILogger logger, IOptions config) { _apiClient = httpClient; _logger = logger; _urls = config.Value; } public async Task GetOrderDraftFromBasketAsync(BasketData basket) { var url = $"{_urls.Orders}{UrlsConfig.OrdersOperations.GetOrderDraft()}"; var content = new StringContent(JsonSerializer.Serialize(basket), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync(url, content); response.EnsureSuccessStatusCode(); var ordersDraftResponse = await response.Content.ReadAsStringAsync(); return JsonSerializer.Deserialize(ordersDraftResponse, JsonHelper.CaseInsensitiveOptions); } }