package Catalyst::DispatchType::Default; use strict; use base qw/Catalyst::DispatchType/; =head1 NAME Catalyst::DispatchType::Default - Default DispatchType =head1 SYNOPSIS See L. =head1 DESCRIPTION =head1 METHODS =over 4 =item $self->match( $c, $path ) =cut sub match { my ( $self, $c, $path ) = @_; return if $path =~ m!/!; # Not at root yet, wait for it ... my $result = @{ $c->get_action( 'default', $c->req->path, 1 ) || [] }[-1]; # Find default on namespace or super if ($result) { $c->action( $result->[0] ); $c->namespace( $c->req->path ); $c->req->action('default'); # default methods receive the controller name as the first argument unshift @{ $c->req->args }, ( split /\//, $result->[0], 2 )[0]; $c->req->match(''); return 1; } return 0; } =back =head1 AUTHOR Matt S Trout Sebastian Riedel, C =head1 COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. =cut 1;