1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
package MasterWebInterface::Handler::ErrorPages;
use strict;
use TUWF ':html';
# handle 404 and 500
TUWF::set(
error_404_handler => \&handle404,
error_500_handler => \&handle500,
);
TUWF::register(
qr{500} => sub {die "Process died on purpose, but with a lot of text to test if the whole error is correctly displayed on the screen when debug information is enabled in the website configuration, "},
);
sub handle404
{
my $self = shift;
$self->resStatus(404);
$self->htmlHeader(title => '404 - Not Found');
$self->htmlSearchBox(title => "Servers", action => "/s", sel => 's', fq => '');
div class => "mainbox warning";
div class => "header";
h1 'Page not found';
p "Error 404: the page could not be found.";
end;
div class => "description";
p;
txt 'It seems the page you were looking for does not exist,';
br;
txt 'perhaps our search function may yield results?';
end;
end;
end;
$self->htmlFooter;
}
sub handle500
{
my($self, $error) = @_;
$self->resStatus(500);
$self->htmlHeader(title => '500 - Internal Server Error');
$self->htmlSearchBox(title => "Servers", action => "/s", sel => 's', fq => '');
div class => "mainbox warning";
div class => "header";
h1 'Internal Server Error';
p "Error 500: loading this page caused an internal error.";
end;
div class => "description";
p;
txt 'Something went wrong on our side. The problem was logged ';
br;
txt 'and will be fixed shortly. Please try again later.';
end;
end;
if ($self->debug)
{
div class => "code warning";
txt $error;
end;
}
end;
$self->htmlFooter;
}
1;
|