|
using System; |
|
using System.Net.Http; |
|
using System.Threading; |
|
using System.Threading.Tasks; |
|
|
|
namespace HttpWrapper |
|
{ |
|
/// <summary> |
|
/// A concrete implementation of IHttpClient, which can be used easily for mocking |
|
/// </summary> |
|
public class HttpClientWrapper : IHttpClient |
|
{ |
|
private readonly HttpClient _client; |
|
|
|
public HttpClientWrapper(HttpClient client) |
|
{ |
|
_client = client; |
|
|
|
} |
|
|
|
public HttpClient Client => _client; |
|
|
|
public void CancelPendingRequests() => _client.CancelPendingRequests(); |
|
|
|
public Task<HttpResponseMessage> DeleteAsync(string uri) => _client.DeleteAsync(uri); |
|
|
|
public Task<HttpResponseMessage> DeleteAsync(string uri, CancellationToken cancel) => _client.DeleteAsync(uri, cancel); |
|
|
|
public Task<HttpResponseMessage> DeleteAsync(Uri uri) => _client.DeleteAsync(uri); |
|
|
|
public Task<HttpResponseMessage> DeleteAsync(Uri uri, CancellationToken cancel) => _client.DeleteAsync(uri, cancel); |
|
|
|
public Task<HttpResponseMessage> GetAsync(string uri) => _client.GetAsync(uri); |
|
|
|
public Task<HttpResponseMessage> GetAsync(string uri, HttpCompletionOption options) => _client.GetAsync(uri, options); |
|
|
|
public Task<HttpResponseMessage> GetAsync(string uri, CancellationToken cancel) => _client.GetAsync(uri, cancel); |
|
|
|
public Task<HttpResponseMessage> GetAsync(string uri, HttpCompletionOption options, CancellationToken cancel) => _client.GetAsync(uri, options, cancel); |
|
|
|
public Task<HttpResponseMessage> GetAsync(Uri uri) => _client.GetAsync(uri); |
|
|
|
public Task<HttpResponseMessage> GetAsync(Uri uri, HttpCompletionOption options) => _client.GetAsync(uri, options); |
|
|
|
public Task<HttpResponseMessage> GetAsync(Uri uri, CancellationToken cancel) => _client.GetAsync(uri, cancel); |
|
|
|
public Task<HttpResponseMessage> GetAsync(Uri uri, HttpCompletionOption options, CancellationToken cancel) => _client.GetAsync(uri, options, cancel); |
|
|
|
public Task<HttpResponseMessage> PostAsync(string uri, HttpContent content) => _client.PostAsync(uri, content); |
|
|
|
public Task<HttpResponseMessage> PostAsync(string uri, HttpContent content, CancellationToken cancel) => _client.PostAsync(uri, content, cancel); |
|
|
|
public Task<HttpResponseMessage> PostAsync(Uri uri, HttpContent content) => _client.PostAsync(uri, content); |
|
|
|
public Task<HttpResponseMessage> PostAsync(Uri uri, HttpContent content, CancellationToken cancel) => _client.PostAsync(uri, content, cancel); |
|
|
|
public Task<HttpResponseMessage> PutAsync(string uri, HttpContent content) => _client.PutAsync(uri, content); |
|
|
|
public Task<HttpResponseMessage> PutAsync(string uri, HttpContent content, CancellationToken cancel) => _client.PutAsync(uri, content, cancel); |
|
|
|
public Task<HttpResponseMessage> PutAsync(Uri uri, HttpContent content) => _client.PutAsync(uri, content); |
|
|
|
public Task<HttpResponseMessage> PutAsync(Uri uri, HttpContent content, CancellationToken cancel) => _client.PutAsync(uri, content, cancel); |
|
|
|
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request) => _client.SendAsync(request); |
|
|
|
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption options) => _client.SendAsync(request, options); |
|
|
|
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancel) => _client.SendAsync(request, cancel); |
|
|
|
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption options, CancellationToken cancel) => _client.SendAsync(request, options, cancel); |
|
} |
|
} |