From e2dcddc5ac43846baea0f9b1a0fc62844dd9ee1d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 23 Mar 2013 22:45:00 -0400 Subject: made compression and caching available to plugin api endpoints --- .../HttpServer/StreamWriter.cs | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs') diff --git a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs index 6f5d6e25f..da84a51cd 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/StreamWriter.cs @@ -1,6 +1,8 @@ using MediaBrowser.Model.Logging; using ServiceStack.Service; +using ServiceStack.ServiceHost; using System; +using System.Collections.Generic; using System.IO; using System.Threading.Tasks; @@ -9,7 +11,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// /// Class StreamWriter /// - public class StreamWriter : IStreamWriter + public class StreamWriter : IStreamWriter, IHasOptions { private ILogger Logger { get; set; } @@ -19,15 +21,36 @@ namespace MediaBrowser.Server.Implementations.HttpServer /// The source stream. public Stream SourceStream { get; set; } + /// + /// The _options + /// + private readonly IDictionary _options = new Dictionary(); + /// + /// Gets the options. + /// + /// The options. + public IDictionary Options + { + get { return _options; } + } + /// /// Initializes a new instance of the class. /// /// The source. + /// Type of the content. /// The logger. - public StreamWriter(Stream source, ILogger logger) + public StreamWriter(Stream source, string contentType, ILogger logger) { + if (string.IsNullOrEmpty(contentType)) + { + throw new ArgumentNullException("contentType"); + } + SourceStream = source; Logger = logger; + + Options["Content-Type"] = contentType; } /// -- cgit v1.2.3