common/src/service/IHttpClientHelper.cs (124 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. namespace Microsoft.Azure.Devices { using System; using System.Collections.Generic; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Threading; using System.Threading.Tasks; using Microsoft.Azure.Devices.Shared; interface IHttpClientHelper : IDisposable { Task<T> GetAsync<T>( Uri requestUri, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken); Task<T> GetAsync<T>( Uri requestUri, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, bool throwIfNotFound, CancellationToken cancellationToken); Task<T> GetAsync<T>( Uri requestUri, TimeSpan operationTimeout, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, bool throwIfNotFound, CancellationToken cancellationToken); Task<T> PutAsync<T>( Uri requestUri, T entity, PutOperationType operationType, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken) where T: IETagHolder; Task<T2> PutAsync<T, T2>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken); Task PutAsync<T>( Uri requestUri, T entity, string etag, PutOperationType operationType, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken); Task<T2> PutAsync<T, T2>( Uri requestUri, T entity, string etag, PutOperationType operationType, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken); Task PatchAsync<T>( Uri requestUri, T entity, string etag, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken); Task<T2> PatchAsync<T, T2>( Uri requestUri, T entity, string etag, PutOperationType operationType, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, CancellationToken cancellationToken); Task PostAsync<T>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken); Task PostAsync<T>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, TimeSpan operationTimeout, CancellationToken cancellationToken); Task<T2> PostAsync<T, T2>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken); Task<T2> PostAsync<T, T2>( Uri requestUri, T entity, TimeSpan operationTimeout, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken); Task<T2> PostAsync<T, T2>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, MediaTypeHeaderValue customContentType, ICollection<string> customContentEncoding, CancellationToken cancellationToken); Task<HttpResponseMessage> PostAsync<T>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, MediaTypeHeaderValue customContentType, ICollection<string> customContentEncoding, CancellationToken cancellationToken); Task DeleteAsync<T>( Uri requestUri, T entity, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken) where T: IETagHolder; Task<T> DeleteAsync<T>( Uri requestUri, IDictionary<HttpStatusCode, Func<HttpResponseMessage, Task<Exception>>> errorMappingOverrides, IDictionary<string, string> customHeaders, CancellationToken cancellationToken); } }