aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Net/DefaultHttpClient.cs
diff options
context:
space:
mode:
authorcrobibero <cody@robibe.ro>2020-08-19 06:31:45 -0600
committercrobibero <cody@robibe.ro>2020-08-19 06:31:45 -0600
commit076e17f35556c6d1257856896619e30eb494b2bb (patch)
tree6078303f35f0cd2ac33a33fcf4558be88f86c248 /MediaBrowser.Common/Net/DefaultHttpClient.cs
parent93fe595e5e9863874c1973e4f2d7f3c85549d3f9 (diff)
Add default http client
Diffstat (limited to 'MediaBrowser.Common/Net/DefaultHttpClient.cs')
-rw-r--r--MediaBrowser.Common/Net/DefaultHttpClient.cs108
1 files changed, 108 insertions, 0 deletions
diff --git a/MediaBrowser.Common/Net/DefaultHttpClient.cs b/MediaBrowser.Common/Net/DefaultHttpClient.cs
new file mode 100644
index 000000000..cbc06eec0
--- /dev/null
+++ b/MediaBrowser.Common/Net/DefaultHttpClient.cs
@@ -0,0 +1,108 @@
+using System;
+using System.IO;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Common.Net
+{
+ /// <summary>
+ /// Default http client.
+ /// </summary>
+ public class DefaultHttpClient
+ {
+ private readonly HttpClient _httpClient;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DefaultHttpClient" /> class.
+ /// </summary>
+ /// <param name="httpClient">Instance of httpclient.</param>
+ public DefaultHttpClient(HttpClient httpClient)
+ {
+ _httpClient = httpClient;
+ }
+
+ /// <summary>
+ /// Make GET request.
+ /// </summary>
+ /// <param name="url">Url to request.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> GetAsync(string url)
+ {
+ return _httpClient.GetAsync(url);
+ }
+
+ /// <summary>
+ /// Make GET request.
+ /// </summary>
+ /// <param name="url">Url to request.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> GetAsync(Uri url)
+ {
+ return _httpClient.GetAsync(url);
+ }
+
+ /// <summary>
+ /// Make GET request.
+ /// </summary>
+ /// <param name="url">Url to request.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> GetAsync(string url, CancellationToken cancellationToken)
+ {
+ return _httpClient.GetAsync(url, cancellationToken);
+ }
+
+ /// <summary>
+ /// Make GET request.
+ /// </summary>
+ /// <param name="url">Url to request.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> GetAsync(Uri url, CancellationToken cancellationToken)
+ {
+ return _httpClient.GetAsync(url, cancellationToken);
+ }
+
+ /// <summary>
+ /// Get stream.
+ /// </summary>
+ /// <param name="url">Url to get stream from.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="Stream"/>.</returns>
+ public Task<Stream> GetStreamAsync(string url)
+ {
+ return _httpClient.GetStreamAsync(url);
+ }
+
+ /// <summary>
+ /// Get stream.
+ /// </summary>
+ /// <param name="url">Url to get stream from.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="Stream"/>.</returns>
+ public Task<Stream> GetStreamAsync(Uri url)
+ {
+ return _httpClient.GetStreamAsync(url);
+ }
+
+ /// <summary>
+ /// Send request.
+ /// </summary>
+ /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage)
+ {
+ return _httpClient.SendAsync(requestMessage);
+ }
+
+ /// <summary>
+ /// Send request.
+ /// </summary>
+ /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage, CancellationToken cancellationToken)
+ {
+ return _httpClient.SendAsync(requestMessage, cancellationToken);
+ }
+ }
+}