private static async Task <string> GetBreedURLFromAPIAsync(string breedName) { using (var client = new HttpClient()) { client.BaseAddress = DogApiSettings.BaseAddress(); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { HttpResponseMessage Res = await client.GetAsync(DogApiSettings.BreedRandomImageURL(breedName)); BreedImageUrl breeds = new BreedImageUrl(); if (Res.IsSuccessStatusCode) { var ApiResponse = await Res.Content.ReadAsStringAsync(); breeds = JsonConvert.DeserializeObject <BreedImageUrl>(ApiResponse); return(breeds.ImageUrl); } else { return(DogApiSettings.MissingImageURL()); } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return(DogApiSettings.MissingImageURL()); } } }
public static async Task <BreedsList> GetBreedsFromApiAsync() { using (var client = new HttpClient()) { client.BaseAddress = DogApiSettings.BaseAddress(); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { HttpResponseMessage Res = await client.GetAsync(DogApiSettings.BreedListURL()); if (Res.IsSuccessStatusCode) { var ApiResponse = await Res.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <BreedsList>(ApiResponse)); } else { return(new BreedsList { Status = "failed", Breeds = new string[] { "unable to retrieve list" } }); } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return(new BreedsList { Status = "error", Breeds = new string[] { "an error occurred" } }); } } }