The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

=head1 NAME
XAO::Objects::Page - core object of XAO::Web rendering system
=head1 SYNOPSIS
Currently is only useful in XAO::Web site context.
=head1 DESCRIPTION
This is the default default (sic!) page handler. It is called when there
is no template for the given path and there is no path-to-object mapping
defined for this path.
Feel free to override it per-site to make it do something more useful
then just displaying 404 error message.
=head1 METHODS
=over
=cut
###############################################################################
use strict;
use base XAO::Objects->load(objname => 'Web::Page');
our $VERSION='2.003';
###############################################################################
=item display (%)
Normally takes no arguments and uses /pagedesc/fullpath to pass to
/bits/errors/file-not-found template as a FILEPATH argument.
Sets up page headers to show 404 page not found message.
=cut
sub display ($@) {
my $self=shift;
my $args=get_args(\@_);
my $path=$self->clipboard->get('/pagedesc/fullpath') ||
$args->{'path'} ||
'';
$self->siteconfig->header_args(
-Status => '404 File not found',
-expires => 'now',
-cache_control => 'no-cache',
);
$self->object->display(
path => '/bits/errors/file-not-found',
FILEPATH => $path,
);
}
###############################################################################
1;
__END__
=back
=head1 EXPORTS
Nothing.
=head1 AUTHOR
Copyright (c) 2005 Andrew Maltsev
Copyright (c) 2001-2004 Andrew Maltsev, XAO Inc.
<am@ejelta.com> -- http://ejelta.com/xao/
=head1 SEE ALSO
Recommended reading:
L<XAO::Web>.