X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FController.pm;h=ad88a515ae9dc1fa533cc99522b596e7bfe2d496;hp=d0a8570d4227c4814f895a21b767aa5af1e191a3;hb=5dd46e24eedec447bdfbc4061ed683b5a17a7b0c;hpb=1d00b2ffb8806bd0a8190ee8580a85895e48f8e4 diff --git a/lib/Catalyst/Controller.pm b/lib/Catalyst/Controller.pm index d0a8570..ad88a51 100644 --- a/lib/Catalyst/Controller.pm +++ b/lib/Catalyst/Controller.pm @@ -155,6 +155,11 @@ sub _AUTO : Private { my ( $self, $c ) = @_; my @auto = $c->get_actions( 'auto', $c->namespace ); foreach my $auto (@auto) { + # We FORCE the auto action user to explicitly return + # true. We need to do this since there's some auto + # users (Catalyst::Authentication::Credential::HTTP) that + # actually do a detach instead. + $c->state(0); $auto->dispatch( $c ); return 0 unless $c->state; } @@ -399,7 +404,7 @@ sub _parse_attrs { # Parse out :Foo(bar) into Foo => bar etc (and arrayify) - if ( my ( $key, $value ) = ( $attr =~ /^(.*?)(?:\(\s*(.+?)\s*\))?$/ ) ) + if ( my ( $key, $value ) = ( $attr =~ /^(.*?)(?:\(\s*(.+?)?\s*\))?$/ ) ) { if ( defined $value ) { @@ -919,6 +924,10 @@ wish to reuse over many actions. See L for more. +B: It is highly recommended to use L for your type constraints over +other options. L exposed a better meta data interface which allows us to +do more and better types of introspection driving tests and debugging. + =head2 Consumes('...') Matches the current action against the content-type of the request. Typically