/usr/share/perl5/Catalyst/DispatchType/Default.pm is in libcatalyst-perl 5.90103-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 73 74 75 76 | package Catalyst::DispatchType::Default;
use Moose;
extends 'Catalyst::DispatchType';
no Moose;
=head1 NAME
Catalyst::DispatchType::Default - Default DispatchType
=head1 SYNOPSIS
See L<Catalyst::DispatchType>.
=head1 DESCRIPTION
Dispatch type managing default behaviour. For more information on
dispatch types, see:
=over 4
=item * L<Catalyst::Manual::Intro> for how they affect application authors
=item * L<Catalyst::DispatchType> for implementation information.
=back
=head1 METHODS
=head2 $self->match( $c, $path )
If path is empty (i.e. all path parts have been converted into args),
attempts to find a default for the namespace constructed from the args,
or the last inherited default otherwise and will match that.
If path is not empty, never matches since Default will only match if all
other possibilities have been exhausted.
=cut
sub match {
my ( $self, $c, $path ) = @_;
return if $path ne ''; # Not at root yet, wait for it ...
my $result = ( $c->get_actions( 'default', $c->req->path ) )[-1];
# Find default on namespace or super
if ($result && $result->match($c)) {
$c->action($result);
$c->namespace( $result->namespace );
$c->req->action('default');
# default methods receive the controller name as the first argument
unshift @{ $c->req->args }, $path if $path;
$c->req->match('');
return 1;
}
return 0;
}
sub _is_low_precedence { 1 }
=head1 AUTHORS
Catalyst Contributors, see Catalyst.pm
=head1 COPYRIGHT
This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
__PACKAGE__->meta->make_immutable;
1;
|