public async Task <Data.WeatherForecast> GetWeatherAsync() { Logger.LogInformation("BackendUrl: {BackendUrl}", _settings.BackendUrl); Data.WeatherForecast forecast = new Data.WeatherForecast() { Id = -1, Date = DateTime.Now, Summary = $"New HttpClient to {_settings.BackendUrl}", TemperatureC = 0 }; Logger.LogInformation("new HttpClient"); var client = new HttpClient { BaseAddress = new Uri(_settings.BackendUrl) }; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response; try { Logger.LogInformation("client.GetAsync(/api/WeatherForecast)"); response = await client.GetAsync("/api/WeatherForecast"); Logger.LogInformation("client.GetAsync(/api/WeatherForecast) PASS"); } catch (Exception ex) { Logger.LogError("client.GetAsync(/api/WeatherForecast) FAIL {Message}", ex.Message); forecast.Summary = ex.Message; return(forecast); } if (response != null && response.IsSuccessStatusCode) { Logger.LogInformation("ReadFromJsonAsync"); var forecasts = await response.Content.ReadFromJsonAsync <IEnumerable <Data.WeatherForecast> >(); Logger.LogInformation("First or Default"); forecast = forecasts.FirstOrDefault(); Logger.LogInformation("Done"); } else { Logger.LogWarning("Unexpected response: {StatusCode}", response.StatusCode); forecast.Summary = $"Unexpected statusCode: {response.StatusCode}"; } return(forecast); }
public async Task <Data.WeatherForecast> GetWeatherAsync() { var client = new HttpClient { BaseAddress = new Uri(_settings.BackendUrl) }; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); Data.WeatherForecast forecast = null; HttpResponseMessage response = null; try { response = await client.GetAsync("/api/WeatherForecast"); } catch (Exception ex) { forecast = new Data.WeatherForecast() { Id = -1, Date = DateTime.Now, TemperatureC = 0, Summary = ex.Message }; return(forecast); } if (response != null && response.IsSuccessStatusCode) { var forecasts = await response.Content.ReadFromJsonAsync <IEnumerable <Data.WeatherForecast> >(); forecast = forecasts.FirstOrDefault(); } return(forecast); }
public async Task <Data.WeatherForecast> GetWeatherAsync() { var client = new HttpClient(); client.BaseAddress = new Uri(_settings.BackendUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); Data.WeatherForecast forecast = null; HttpResponseMessage response = await client.GetAsync("/api/WeatherForecast"); if (response.IsSuccessStatusCode) { var forecasts = await response.Content.ReadFromJsonAsync <IEnumerable <Data.WeatherForecast> >(); forecast = forecasts.FirstOrDefault(); } return(forecast); }