diff --git a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs index 16a08b9b3c..a63759708a 100644 --- a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs +++ b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs @@ -13,6 +13,22 @@ namespace MediaBrowser.Common.Net.Handlers /// public IDictionary Headers = new Dictionary(); + public virtual bool UseChunkedEncoding + { + get + { + return true; + } + } + + public virtual long? ContentLength + { + get + { + return null; + } + } + /// /// Returns true or false indicating if the handler writes to the stream asynchronously. /// If so the subclass will be responsible for disposing the stream when complete. diff --git a/MediaBrowser.Common/Net/RequestContext.cs b/MediaBrowser.Common/Net/RequestContext.cs index e00dac02aa..c95f95ebac 100644 --- a/MediaBrowser.Common/Net/RequestContext.cs +++ b/MediaBrowser.Common/Net/RequestContext.cs @@ -58,7 +58,12 @@ namespace MediaBrowser.Common.Net if (statusCode == 200) { - Response.SendChunked = true; + Response.SendChunked = handler.UseChunkedEncoding; + + if (handler.ContentLength.HasValue) + { + Response.ContentLength64 = handler.ContentLength.Value; + } if (handler.CompressResponse) {