---
name: "Catalyst::DispatchType"
section: "3pm"
platform: "linux"
package: "libcatalyst-perl"
version: "5.90132-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::DispatchType"
---

# Catalyst::DispatchType(3pm)

DispatchType Base Class

## NAME

Catalyst::DispatchType - DispatchType Base Class

## SYNOPSIS

See Catalyst.

## DESCRIPTION

This is an abstract base class for Dispatch Types.

From a code perspective, dispatch types are used to find which actions to call for a given request URL.  Website authors will typically work with them via subroutine names attributes; a description of dispatch at the attribute/URL level is given in Catalyst::Manual::Intro.

## METHODS

### $self-\>list($c)

abstract method, to be implemented by dispatchtypes. Called to display info in debug log.

### $self-\>match( $c, $path )

abstract method, to be implemented by dispatchtypes. Returns true if the dispatch type matches the given path

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

abstract method, to be implemented by dispatchtypes. Takes a context object and a Catalyst::Action object.

Should return true if it registers something, or false otherwise.

### $self-\>uri\_for\_action( $action, \\@captures )

abstract method, to be implemented by dispatchtypes. Takes a Catalyst::Action object and an arrayref of captures, and should return either a URI part which if placed in `$c`-\>req-\>path would cause `$self`-\>match to match this action and set `$c`-\>req-\>captures to the supplied arrayref, or undef if unable to do so.

### $self-\>expand\_action

Default fallback, returns nothing. See Catalyst::Dispatcher for more info about expand\_action.

## AUTHORS

Catalyst Contributors, see Catalyst.pm

## COPYRIGHT

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
