The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Catalyst::Dispatcher - The Catalyst Dispatcher

SYNOPSIS

See Catalyst.

DESCRIPTION

This is the class that maps public urls to actions in your Catalyst application based on the attributes you set.

METHODS

new

Construct a new dispatcher.

$self->preload_dispatch_types

An arrayref of pre-loaded dispatchtype classes

Entries are considered to be available as Catalyst::DispatchType::CLASS To use a custom class outside the regular Catalyst namespace, prefix it with a +, like so:

    +My::Dispatch::Type

$self->postload_dispatch_types

An arrayref of post-loaded dispatchtype classes

Entries are considered to be available as Catalyst::DispatchType::CLASS To use a custom class outside the regular Catalyst namespace, prefix it with a +, like so:

    +My::Dispatch::Type

$self->detach( $c, $command [, \@arguments ] )

Documented in Catalyst

$self->dispatch($c)

Delegate the dispatch to the action that matched the url, or return a message about unknown resource

$self->forward( $c, $command [, \@arguments ] )

Documented in Catalyst

$self->prepare_action($c)

Find an dispatch type that matches $c->req->path, and set args from it.

$self->get_action( $action, $namespace )

returns a named action from a given namespace.

$self->get_action_by_path( $path );

Returns the named action by it's full path.

$self->get_actions( $c, $action, $namespace )

$self->get_containers( $namespace )

Return all the action containers for a given namespace, inclusive

$self->register( $c, $action )

Make sure all required dispatch types for this action are loaded, then pass the action to our dispatch types so they can register it if required. Also, set up the tree with the action containers.

$self->setup_actions( $class, $context )

AUTHOR

Sebastian Riedel, sri@cpan.org Matt S Trout, mst@shadowcatsystems.co.uk

COPYRIGHT

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.