using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Services;
namespace MediaBrowser.Controller.Net
{
///
/// Interface IHttpResultFactory
///
public interface IHttpResultFactory
{
///
/// Gets the result.
///
/// The content.
/// Type of the content.
/// The response headers.
/// System.Object.
object GetResult(string content, string contentType, IDictionary responseHeaders = null);
object GetResult(IRequest requestContext, byte[] content, string contentType, IDictionary responseHeaders = null);
object GetResult(IRequest requestContext, Stream content, string contentType, IDictionary responseHeaders = null);
object GetResult(IRequest requestContext, string content, string contentType, IDictionary responseHeaders = null);
object GetRedirectResult(string url);
object GetResult(IRequest requestContext, T result, IDictionary responseHeaders = null)
where T : class;
///
/// Gets the static result.
///
/// The request context.
/// The cache key.
/// The last date modified.
/// Duration of the cache.
/// Type of the content.
/// The factory fn.
/// The response headers.
/// if set to true [is head request].
/// System.Object.
Task