private async Task <string> MakeRequest(string customerCode, string url) { string token; if (_settings.UseConsolidatedApi) { token = string.IsNullOrWhiteSpace(customerCode) ? throw new CustomerCodeNotSpecifiedException("Customer code not specified") : await _dpcDbClient.GetCachedHighloadApiAuthToken(customerCode); } else { token = _settings.XAuthToken; } var client = _factory.CreateClient(); var request = new HttpRequestMessage(HttpMethod.Get, url); if (!string.IsNullOrWhiteSpace(token)) { request.Headers.Add("X-Auth-Token", token); } var response = await client.SendAsync(request); if (response.StatusCode == HttpStatusCode.Forbidden) { throw new GetProductJsonException("Access to product API denied"); } return(await response.Content.ReadAsStringAsync()); }
public async Task <ActionResult> GetHighloadApiToken(string customerCode) { try { var token = await _dpcDbClient.GetCachedHighloadApiAuthToken(customerCode); return(new JsonResult(new { success = true, token })); } catch (Exception ex) { Logger.Error(ex, "Error while getting customer code configuration"); return(new JsonResult(new { success = false, error = $"Error while getting auth token: {ex.Message}" })); } }