/// <summary> /// Makes a DELETE request. /// </summary> /// <param name="url"> /// The URL being requested. /// </param> /// <returns> /// Returns a boolean indicating if the Uber API returned a successful HTTP status. /// </returns> private async Task <UberResponse <bool> > DeleteAsync(string url) { var uberResponse = new UberResponse <bool>(); var response = await _httpClient .DeleteAsync(url) .ConfigureAwait(false); var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { uberResponse.Data = true; } else { uberResponse.Error = JsonConvert.DeserializeObject <UberError>(responseContent); } return(uberResponse); }
protected async Task <UberResponse <T> > PutAsync <T>(string url, HttpContent content) { var uberResponse = new UberResponse <T>(); var response = await _httpClient .PutAsync(url, content) .ConfigureAwait(false); var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { uberResponse.Data = JsonConvert.DeserializeObject <T>(responseContent); } else { uberResponse.Error = JsonConvert.DeserializeObject <UberError>(responseContent); } return(uberResponse); }
/// <summary> /// Makes a GET request. /// </summary> /// <typeparam name="T"> /// The response data type. /// </typeparam> /// <param name="url"> /// The URL being requested. /// </param> /// <returns> /// Returns a <see cref="T"/>. /// </returns> public static async Task <UberResponse <T> > UberGetAsync <T>(this HttpClient httpClient, string url) { var uberResponse = new UberResponse <T>(); var response = await httpClient .GetAsync(url) .ConfigureAwait(false); var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { uberResponse.Data = JsonConvert.DeserializeObject <T>(responseContent); } else { uberResponse.Error = JsonConvert.DeserializeObject <UberError>(responseContent); } return(uberResponse); }