using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
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: Deprecated function,
/// use 'Task{HttpResponseInfo} SendAsync(HttpRequestOptions options, HttpMethod httpMethod);' instead
/// Sends the asynchronous.
///
/// The options.
/// The HTTP method.
/// Task{HttpResponseInfo}.
[Obsolete("Use 'Task{HttpResponseInfo} SendAsync(HttpRequestOptions options, HttpMethod httpMethod);' instead")]
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);
}
}