summaryrefslogtreecommitdiff
path: root/src/web/mod_http_fileserver.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-06-16 13:45:03 +0000
committerBadlop <badlop@process-one.net>2009-06-16 13:45:03 +0000
commita9ab002f4852168d8e6a1ce079fa5514b116f9d3 (patch)
tree939d657677264e5d900a7046223732ffcf4cd7a7 /src/web/mod_http_fileserver.erl
parentFix error creating ETS table if enabled in several vhosts (EJAB-551). Unregis... (diff)
Include Last-Modified HTTP header in responses to allow caching (EJAB-546) in mod_http_fileserver and mod_muc_log_http.
SVN Revision: 2174
Diffstat (limited to 'src/web/mod_http_fileserver.erl')
-rw-r--r--src/web/mod_http_fileserver.erl10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/web/mod_http_fileserver.erl b/src/web/mod_http_fileserver.erl
index aa85de90..1131030b 100644
--- a/src/web/mod_http_fileserver.erl
+++ b/src/web/mod_http_fileserver.erl
@@ -8,8 +8,6 @@
-module(mod_http_fileserver).
-author('mmirra@process-one.net').
--define(ejabberd_debug, true).
--compile([export_all]).
-behaviour(gen_mod).
@@ -17,6 +15,7 @@
start/2,
stop/1,
process/2,
+ loop/1,
ctl_process/2
]).
@@ -24,6 +23,7 @@
-include("jlib.hrl").
-include("ejabberd_http.hrl").
-include("ejabberd_ctl.hrl").
+-include_lib("kernel/include/file.hrl").
%%%----------------------------------------------------------------------
%%% REQUEST HANDLERS
@@ -71,6 +71,7 @@ serve(LocalPath) ->
?DEBUG("Delivering content.", []),
{200,
[{"Server", "ejabberd"},
+ {"Last-Modified", last_modified(FileName)},
{"Content-type", content_type(FileName)}],
FileContents};
{error, Error} ->
@@ -131,6 +132,11 @@ content_type(Filename) ->
_Else -> "application/octet-stream"
end.
+last_modified(FileName) ->
+ {ok, FileInfo} = file:read_file_info(FileName),
+ Then = FileInfo#file_info.mtime,
+ httpd_util:rfc1123_date(Then).
+
open_file(Filename) ->
case file:open(Filename, [append]) of
{ok, File} ->