using System.IO;
using System.Threading.Tasks;
using System.Net.Http;
namespace MediaBrowser.Common.Net
{
///
/// Interface IHttpClient
///
public interface IHttpClient
{
///
/// Gets the response.
///
/// The options.
/// Task{HttpResponseInfo}.
Task GetResponse(HttpRequestOptions options);
///
/// Gets the specified options.
///
/// The options.
/// Task{Stream}.
Task Get(HttpRequestOptions options);
///
/// Warning: Depricated function,
/// use 'Task SendAsync(HttpRequestOptions options, HttpMethod httpMethod);' instead
/// Sends the asynchronous.
///
/// The options.
/// The HTTP method.
/// Task{HttpResponseInfo}.
Task SendAsync(HttpRequestOptions options, string httpMethod);
///
/// Sends the asynchronous.
///
/// The options.
/// The HTTP method.
/// Task{HttpResponseInfo}.
Task SendAsync(HttpRequestOptions options, HttpMethod httpMethod);
///
/// 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);
}
}