Mercurial > prosody-modules
comparison mod_http_muc_log/mod_http_muc_log.lua @ 3066:cefc375d0929
mod_http_muc_log: Handle errors while loading template file in a more graceful manner
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 29 May 2018 05:50:19 +0200 |
parents | ce61f1826f1f |
children | 97b8b07ae1d1 |
comparison
equal
deleted
inserted
replaced
3065:49254b9cc751 | 3066:cefc375d0929 |
---|---|
30 module:depends"http"; | 30 module:depends"http"; |
31 | 31 |
32 local template; | 32 local template; |
33 do | 33 do |
34 local template_filename = module:get_option_string(module.name .. "_template", module.name .. ".html"); | 34 local template_filename = module:get_option_string(module.name .. "_template", module.name .. ".html"); |
35 local template_file = assert(module:load_resource(template_filename)); | 35 local template_file, err = module:load_resource(template_filename); |
36 template = template_file:read("*a"); | 36 if template_file then |
37 template_file:close(); | 37 template, err = template_file:read("*a"); |
38 template_file:close(); | |
39 end | |
40 if not template then | |
41 module:log("error", "Error loading template: %s", err); | |
42 template = render("<h1>mod_{module} could not read the template</h1><p>Tried to open <b>{filename}</b><pre>{error}</pre>", | |
43 { module = module.name, filename = template_filename, error = err }); | |
44 end | |
38 end | 45 end |
39 | 46 |
40 -- local base_url = module:http_url() .. '/'; -- TODO: Generate links in a smart way | 47 -- local base_url = module:http_url() .. '/'; -- TODO: Generate links in a smart way |
41 local get_link do | 48 local get_link do |
42 local link, path = { path = '/' }, { "", "", is_directory = true }; | 49 local link, path = { path = '/' }, { "", "", is_directory = true }; |