X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDispatcher.pm;h=a8de12be591e02c063d55f3e5c6b439ecd468c67;hb=71415389f4a9968c22da3255dcaaf2669fa58731;hp=6e182fa847146307b06fbd792fda2da07287740b;hpb=02298d3acbba3136f6c216651373a479f171e50e;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Dispatcher.pm b/lib/Catalyst/Dispatcher.pm index 6e182fa..a8de12b 100644 --- a/lib/Catalyst/Dispatcher.pm +++ b/lib/Catalyst/Dispatcher.pm @@ -15,6 +15,7 @@ use Text::SimpleTable; use Tree::Simple; use Tree::Simple::Visitor::FindByPath; + # Refactoring note: # do these belong as package vars or should we build these via a builder method? # See Catalyst-Plugin-Server for them being added to, which should be much less ugly. @@ -236,6 +237,7 @@ Documented in L sub forward { my $self = shift; + no warnings 'recursion'; $self->_do_forward(forward => @_); } @@ -253,9 +255,9 @@ sub _do_forward { return 0; } - no warnings 'recursion'; local $c->request->{arguments} = $args; + no warnings 'recursion'; $action->dispatch( $c ); return $c->state; @@ -656,7 +658,14 @@ sub _load_dispatch_types { return @loaded; } -# Dont document this until someone else is happy with beaviour. Ash 2009/03/16 +=head2 $self->dispatch_type( $type ) + +Get the DispatchType object of the relevant type, i.e. passing C<$type> of +C would return a L object (assuming +of course it's being used.) + +=cut + sub dispatch_type { my ($self, $name) = @_;