public Uri CreateByCityUri(string city, string countryCode) { if (string.IsNullOrEmpty(city)) { throw new ArgumentNullException(nameof(city), ErrorMessages.CanNotBeNullOrEmpty(nameof(city))); } UriBuilder builder = new UriBuilder(GetUri($"q={ city },{countryCode}")); return(builder.Uri); }
public Uri CreateByZipCodeUri(string zipCode, string countryCode) { if (string.IsNullOrEmpty(zipCode)) { throw new ArgumentNullException(nameof(zipCode), ErrorMessages.CanNotBeNullOrEmpty(nameof(zipCode))); } UriBuilder builder = new UriBuilder(GetUri($"zip={zipCode},{countryCode}")); return(builder.Uri); }
public async Task <WeatherForecastResponse> GetWeatherForecastResponseAsync(Uri uri) { if (uri == null) { throw new ArgumentNullException(nameof(uri), ErrorMessages.CanNotBeNullOrEmpty(nameof(uri))); } try { var streamTask = _httpClient.GetStreamAsync(uri).ConfigureAwait(false); return(await JsonSerializer.DeserializeAsync <WeatherForecastResponse>(await streamTask)); } catch (Exception ex) { if (ex.Message.Contains("404")) { throw new NotFoundException(ex.Message); } throw; } }