| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | using System;using System.Collections.Generic;using System.IO;using System.Threading.Tasks;using MediaBrowser.Model.Services;namespace MediaBrowser.Controller.Net{    /// <summary>    /// Interface IHttpResultFactory    /// </summary>    public interface IHttpResultFactory    {        /// <summary>        /// Gets the result.        /// </summary>        /// <param name="content">The content.</param>        /// <param name="contentType">Type of the content.</param>        /// <param name="responseHeaders">The response headers.</param>        /// <returns>System.Object.</returns>        object GetResult(string content, string contentType, IDictionary<string, string> responseHeaders = null);        object GetResult(IRequest requestContext, byte[] content, string contentType, IDictionary<string, string> responseHeaders = null);        object GetResult(IRequest requestContext, Stream content, string contentType, IDictionary<string, string> responseHeaders = null);        object GetResult(IRequest requestContext, string content, string contentType, IDictionary<string, string> responseHeaders = null);        object GetRedirectResult(string url);        object GetResult<T>(IRequest requestContext, T result, IDictionary<string, string> responseHeaders = null)            where T : class;        /// <summary>        /// Gets the static result.        /// </summary>        /// <param name="requestContext">The request context.</param>        /// <param name="cacheKey">The cache key.</param>        /// <param name="lastDateModified">The last date modified.</param>        /// <param name="cacheDuration">Duration of the cache.</param>        /// <param name="contentType">Type of the content.</param>        /// <param name="factoryFn">The factory fn.</param>        /// <param name="responseHeaders">The response headers.</param>        /// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param>        /// <returns>System.Object.</returns>        Task<object> GetStaticResult(IRequest requestContext,            Guid cacheKey,            DateTime? lastDateModified,            TimeSpan? cacheDuration,            string contentType, Func<Task<Stream>> factoryFn,            IDictionary<string, string> responseHeaders = null,            bool isHeadRequest = false);        /// <summary>        /// Gets the static result.        /// </summary>        /// <param name="requestContext">The request context.</param>        /// <param name="options">The options.</param>        /// <returns>System.Object.</returns>        Task<object> GetStaticResult(IRequest requestContext, StaticResultOptions options);        /// <summary>        /// Gets the static file result.        /// </summary>        /// <param name="requestContext">The request context.</param>        /// <param name="path">The path.</param>        /// <param name="fileShare">The file share.</param>        /// <returns>System.Object.</returns>        Task<object> GetStaticFileResult(IRequest requestContext, string path, FileShare fileShare = FileShare.Read);        /// <summary>        /// Gets the static file result.        /// </summary>        /// <param name="requestContext">The request context.</param>        /// <param name="options">The options.</param>        /// <returns>System.Object.</returns>        Task<object> GetStaticFileResult(IRequest requestContext,            StaticFileResultOptions options);    }}
 |