コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        /// <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);
        }