diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-31 21:48:32 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-31 21:48:32 -0400 |
| commit | d6a0e8dbc5be4e960fb7504c69af16cbb9130a57 (patch) | |
| tree | 88e5349d21707568838873a5a43ae01a125752b5 | |
| parent | 98841cb6f8797ca5be5b270038d8915b1fed318c (diff) | |
Improved http response caching
| -rw-r--r-- | MediaBrowser.Common/Net/Handlers/BaseHandler.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Common/Net/RequestContext.cs | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs index 6f6779ad3..0bf7406ec 100644 --- a/MediaBrowser.Common/Net/Handlers/BaseHandler.cs +++ b/MediaBrowser.Common/Net/Handlers/BaseHandler.cs @@ -86,7 +86,7 @@ namespace MediaBrowser.Common.Net.Handlers WriteStream = s =>
{
WriteReponse(s);
- s.Close();
+ s.Dispose();
};
}
diff --git a/MediaBrowser.Common/Net/RequestContext.cs b/MediaBrowser.Common/Net/RequestContext.cs index 5c7a6b99f..1d1b8d02f 100644 --- a/MediaBrowser.Common/Net/RequestContext.cs +++ b/MediaBrowser.Common/Net/RequestContext.cs @@ -29,7 +29,7 @@ namespace MediaBrowser.Common.Net Response.AddHeader("Access-Control-Allow-Origin", "*");
Response.KeepAlive = true;
-
+
foreach (var header in handler.Headers)
{
Response.AddHeader(header.Key, header.Value);
@@ -54,11 +54,12 @@ namespace MediaBrowser.Common.Net }
}
- Response.SendChunked = true;
Response.StatusCode = statusCode;
- if (statusCode != 304)
+ if (statusCode == 200)
{
+ Response.SendChunked = true;
+
if (handler.GzipResponse)
{
Response.AddHeader("Content-Encoding", "gzip");
@@ -72,8 +73,8 @@ namespace MediaBrowser.Common.Net }
else
{
- Response.OutputStream.Flush();
- Response.OutputStream.Close();
+ Response.SendChunked = false;
+ Response.OutputStream.Dispose();
}
}
@@ -81,7 +82,7 @@ namespace MediaBrowser.Common.Net {
DateTime lastModified = dateModified ?? DateTime.Now;
- response.Headers[HttpResponseHeader.CacheControl] = "Public";
+ response.Headers[HttpResponseHeader.CacheControl] = "public, max-age=" + Convert.ToInt32(duration.TotalSeconds);
response.Headers[HttpResponseHeader.Expires] = DateTime.Now.Add(duration).ToString("r");
response.Headers[HttpResponseHeader.LastModified] = lastModified.ToString("r");
}
|
