From a9937ee757b77f991fb0a091fb8173252f23580b Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 21 Dec 2012 08:25:09 +0100 Subject: mod_http_files: Only serve cached data if etag is unchanged. --- plugins/mod_http_files.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/mod_http_files.lua b/plugins/mod_http_files.lua index 70ef5623..dea209c8 100644 --- a/plugins/mod_http_files.lua +++ b/plugins/mod_http_files.lua @@ -73,7 +73,7 @@ function serve_file(event, path) end local data = cache[path]; - if data then + if data and data.etag == etag then response_headers.content_type = data.content_type; data = data.data; elseif attr.mode == "directory" then @@ -105,7 +105,7 @@ function serve_file(event, path) end end data = "\n"..tostring(html); - cache[path] = { data = data, content_type = mime_map.html; hits = 0 }; + cache[path] = { data = data, content_type = mime_map.html; etag = etag; }; response_headers.content_type = mime_map.html; end @@ -120,7 +120,7 @@ function serve_file(event, path) end local ext = path:match("%.([^./]+)$"); local content_type = ext and mime_map[ext]; - cache[path] = { data = data; content_type = content_type; }; + cache[path] = { data = data; content_type = content_type; etag = etag }; response_headers.content_type = content_type; end -- cgit v1.2.3