———=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
###############################################################################
package
XAO::DO::Web::Default;
use
strict;
use
XAO::Utils;
use
XAO::Objects;
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>.