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);
}
}