Comparison

plugins/mod_http_errors.lua @ 11200:bf8f2da84007

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Thu, 05 Nov 2020 22:31:25 +0100
parent 11155:8d692a8a8f48
child 11388:60a61c509d87
comparison
equal deleted inserted replaced
11199:6c7c50a4de32 11200:bf8f2da84007
24 <html> 24 <html>
25 <head> 25 <head>
26 <meta charset="utf-8"> 26 <meta charset="utf-8">
27 <title>{title}</title> 27 <title>{title}</title>
28 <style> 28 <style>
29 body{ 29 body {
30 margin-top:14%; 30 margin-top : 14%;
31 text-align:center; 31 text-align : center;
32 background-color:#F8F8F8; 32 background-color : #F8F8F8;
33 font-family:sans-serif; 33 font-family : sans-serif
34 } 34 }
35 h1{ 35
36 font-size:xx-large; 36 h1 {
37 font-size : xx-large
37 } 38 }
38 p{ 39
39 font-size:x-large; 40 p {
41 font-size : x-large
40 } 42 }
41 p+p { 43
42 font-size:large; 44 p.extra {
43 font-family:courier; 45 font-size : large;
46 font-family : courier
47 }
48
49 @media(prefers-color-scheme: dark) {
50 body {
51 background-color: #161616;
52 color: #eee
53 }
44 } 54 }
45 </style> 55 </style>
46 </head> 56 </head>
47 <body> 57 <body>
48 <h1>{title}</h1> 58 <h1>{title}</h1>
49 <p>{message}</p> 59 <p>{message}</p>
50 <p>{extra?}</p> 60 {extra&<p class="extra">{extra?}</p>}
51 </body> 61 </body>
52 </html> 62 </html>
53 ]]; 63 ]];
54 64
55 local function get_page(code, extra) 65 local function get_page(code, extra)
68 78
69 module:hook_object_event(server, "http-error", function (event) 79 module:hook_object_event(server, "http-error", function (event)
70 if event.response then 80 if event.response then
71 event.response.headers.content_type = "text/html; charset=utf-8"; 81 event.response.headers.content_type = "text/html; charset=utf-8";
72 end 82 end
73 return get_page(event.code, (show_private and event.private_message) or event.message); 83 return get_page(event.code, (show_private and event.private_message) or event.message or (event.error and event.error.text));
74 end); 84 end);
85
86 module:hook_object_event(server, "http-error", function (event)
87 local request, response = event.request, event.response;
88 if request and response and request.path == "/" and response.status_code == 404 then
89 response.headers.content_type = "text/html; charset=utf-8";
90 return render(html, {
91 title = "Prosody is running!";
92 message = "Welcome to the XMPP world!";
93 });
94 end
95 end, 1);
96