Comparison

plugins/mod_http_errors.lua @ 11389:29e7ed75ed3f

mod_http_errors: Add way to reuse the error page template module:fire_event("http-message", {title = "hello"; message = "world"}) Goal is to enable consistent messages from Prosody. Not necessarily error messages, but warnings or just notices. This does cause some drift in the purpose of mod_http_errors, but that's okay.
author Kim Alvefur <zash@zash.se>
date Sun, 21 Feb 2021 06:13:19 +0100
parent 11388:60a61c509d87
child 11390:226fd5d3a295
comparison
equal deleted inserted replaced
11388:60a61c509d87 11389:29e7ed75ed3f
62 event.response.headers.content_type = "text/html; charset=utf-8"; 62 event.response.headers.content_type = "text/html; charset=utf-8";
63 end 63 end
64 return get_page(event.code, (show_private and event.private_message) or event.message or (event.error and event.error.text)); 64 return get_page(event.code, (show_private and event.private_message) or event.message or (event.error and event.error.text));
65 end); 65 end);
66 66
67 module:hook("http-message", function (event)
68 if event.response then
69 event.response.headers.content_type = "text/html; charset=utf-8";
70 end
71 return render(html, event);
72 end);
73
67 module:hook_object_event(server, "http-error", function (event) 74 module:hook_object_event(server, "http-error", function (event)
68 local request, response = event.request, event.response; 75 local request, response = event.request, event.response;
69 if request and response and request.path == "/" and response.status_code == 404 then 76 if request and response and request.path == "/" and response.status_code == 404 then
70 response.headers.content_type = "text/html; charset=utf-8"; 77 response.headers.content_type = "text/html; charset=utf-8";
71 return render(html, { 78 return render(html, {