using System; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Common.Net { /// /// Interface IHttpClient /// public interface IHttpClient : IDisposable { /// /// Gets the response. /// /// The options. /// Task{HttpResponseInfo}. Task GetResponse(HttpRequestOptions options); /// /// Performs a GET request and returns the resulting stream /// /// The URL. /// The resource pool. /// The cancellation token. /// Task{Stream}. /// Task Get(string url, SemaphoreSlim resourcePool, CancellationToken cancellationToken); /// /// Gets the specified URL. /// /// The URL. /// The cancellation token. /// Task{Stream}. Task Get(string url, CancellationToken cancellationToken); /// /// Gets the specified options. /// /// The options. /// Task{Stream}. Task Get(HttpRequestOptions options); /// /// Sends the asynchronous. /// /// The options. /// The HTTP method. /// Task{HttpResponseInfo}. Task SendAsync(HttpRequestOptions options, string httpMethod); /// /// Performs a POST request /// /// The URL. /// Params to add to the POST data. /// The resource pool. /// The cancellation token. /// stream on success, null on failure /// postData /// Task Post(string url, Dictionary postData, SemaphoreSlim resourcePool, CancellationToken cancellationToken); /// /// Posts the specified URL. /// /// The URL. /// The post data. /// The cancellation token. /// Task{Stream}. Task Post(string url, Dictionary postData, CancellationToken cancellationToken); /// /// Posts the specified options with post data /// /// The options /// The post data /// Task{Stream} Task Post(HttpRequestOptions options, Dictionary postData); /// /// Posts the specified options. /// /// The options. /// Task{HttpResponseInfo}. Task Post(HttpRequestOptions options); /// /// Downloads the contents of a given url into a temporary location /// /// The options. /// Task{System.String}. /// progress /// Task GetTempFile(HttpRequestOptions options); /// /// Gets the temporary file response. /// /// The options. /// Task{HttpResponseInfo}. Task GetTempFileResponse(HttpRequestOptions options); } }