using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; namespace MediaBrowser.Controller.Net { public class StaticResultOptions { public string ContentType { get; set; } public TimeSpan? CacheDuration { get; set; } public DateTime? DateLastModified { get; set; } public Guid CacheKey { get; set; } public Func> ContentFactory { get; set; } public bool IsHeadRequest { get; set; } public IDictionary ResponseHeaders { get; set; } public bool Throttle { get; set; } public long ThrottleLimit { get; set; } public long MinThrottlePosition { get; set; } public StaticResultOptions() { ResponseHeaders = new Dictionary(StringComparer.OrdinalIgnoreCase); } } public class StaticFileResultOptions : StaticResultOptions { public string Path { get; set; } public FileShare FileShare { get; set; } public StaticFileResultOptions() { FileShare = FileShare.Read; } } }