Made WriteStream virtual

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti 2012-08-06 09:21:56 -04:00
parent 28809cc2bd
commit f9bdf0b6d9

View File

@ -13,10 +13,36 @@ namespace MediaBrowser.Common.Net.Handlers
/// </summary>
public IDictionary<string, string> Headers = new Dictionary<string, string>();
/// <summary>
/// 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.
/// </summary>
protected virtual bool IsAsyncHandler
{
get
{
return false;
}
}
/// <summary>
/// The action to write the response to the output stream
/// </summary>
public Action<Stream> WriteStream { get; set; }
public virtual Action<Stream> WriteStream
{
get
{
return s =>
{
WriteReponse(s);
if (!IsAsyncHandler)
{
s.Dispose();
}
};
}
}
/// <summary>
/// The original RequestContext
@ -81,15 +107,6 @@ namespace MediaBrowser.Common.Net.Handlers
}
}
public BaseHandler()
{
WriteStream = s =>
{
WriteReponse(s);
s.Dispose();
};
}
private void WriteReponse(Stream stream)
{
if (CompressResponse)