Software /
code /
prosody
Diff
plugins/mod_http_files.lua @ 5248:13553f4132a8
mod_http_files: Compare If-Modified-Since to last modification date
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 16 Dec 2012 08:34:50 +0100 |
parent | 5247:9257f4c47ffa |
child | 5252:6209b9a0244b |
line wrap: on
line diff
--- a/plugins/mod_http_files.lua Sun Dec 16 08:17:28 2012 +0100 +++ b/plugins/mod_http_files.lua Sun Dec 16 08:34:50 2012 +0100 @@ -57,11 +57,14 @@ return 404; end - response.headers.last_modified = os_date('!%a, %d %b %Y %H:%M:%S GMT', attr.modification); + local last_modified = os_date('!%a, %d %b %Y %H:%M:%S GMT', attr.modification); + response.headers.last_modified = last_modified; - local tag = ("%02x-%x-%x-%x"):format(attr.dev or 0, attr.ino or 0, attr.size or 0, attr.modification or 0); - response.headers.etag = tag; - if tag == request.headers.if_none_match then + local etag = ("%02x-%x-%x-%x"):format(attr.dev or 0, attr.ino or 0, attr.size or 0, attr.modification or 0); + response.headers.etag = etag; + + if etag == request.headers.if_none_match + or last_modified == request.headers.if_modified_since then return 304; end