diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-09 08:41:54 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-09 08:41:54 -0400 |
| commit | dc90725d61f1aac5914383a1a917961c6af9288d (patch) | |
| tree | 0e4b117a6b95fd385fcba045d8e2f6ec1b6366f9 | |
| parent | 442b9c559f6d6a2c14ed6624d4cdae186f4dcb3a (diff) | |
Added DisposeResponseStream method to BaseHandler
| -rw-r--r-- | MediaBrowser.Common/Net/Handlers/BaseHandler.cs | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs index a63759708..51d56719d 100644 --- a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs +++ b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs @@ -13,6 +13,8 @@ namespace MediaBrowser.Common.Net.Handlers /// </summary>
public IDictionary<string, string> Headers = new Dictionary<string, string>();
+ private Stream CompressedStream { get; set; }
+
public virtual bool UseChunkedEncoding
{
get
@@ -54,7 +56,7 @@ namespace MediaBrowser.Common.Net.Handlers if (!IsAsyncHandler)
{
- s.Dispose();
+ DisposeResponseStream();
}
};
}
@@ -127,10 +129,9 @@ namespace MediaBrowser.Common.Net.Handlers {
if (CompressResponse)
{
- using (DeflateStream compressedStream = new DeflateStream(stream, CompressionLevel.Fastest, false))
- {
- WriteResponseToOutputStream(compressedStream);
- }
+ CompressedStream = new DeflateStream(stream, CompressionLevel.Fastest, false);
+
+ WriteResponseToOutputStream(CompressedStream);
}
else
{
@@ -140,5 +141,14 @@ namespace MediaBrowser.Common.Net.Handlers protected abstract void WriteResponseToOutputStream(Stream stream);
+ protected void DisposeResponseStream()
+ {
+ if (CompressedStream != null)
+ {
+ CompressedStream.Dispose();
+ }
+
+ RequestContext.Response.OutputStream.Dispose();
+ }
}
}
\ No newline at end of file |
