use Encode 2.21 'decode_utf8', 'encode_utf8';
use Scalar::Util;
+our $VERSION = '5.90128';
+$VERSION =~ tr/_//d;
+
BEGIN { require 5.008003; }
has stack => (is => 'ro', default => sub { [] });
my $composed_request_class = $class->composed_request_class;
return $composed_request_class->new( $self->_build_request_constructor_args);
},
+ predicate => 'has_request',
lazy => 1,
);
sub _build_request_constructor_args {
my $composed_response_class = $class->composed_response_class;
return $composed_response_class->new( $self->_build_response_constructor_args);
},
+ predicate=>'has_response',
lazy => 1,
);
sub _build_response_constructor_args {
__PACKAGE__->_encode_check(Encode::FB_CROAK | Encode::LEAVE_SRC);
-# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.90122';
-$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
-
sub import {
my ( $class, @arguments ) = @_;
information about the current client request (including parameters,
cookies, HTTP headers, etc.). See L<Catalyst::Request>.
+There is a predicate method C<has_request> that returns true if the
+request object has been created. This is something you might need to
+check if you are writing plugins that run before a request is finalized.
+
=head2 REQUEST FLOW HANDLING
=head2 $c->forward( $action [, \@arguments ] )
Returns the current L<Catalyst::Response> object, see there for details.
+There is a predicate method C<has_response> that returns true if the
+request object has been created. This is something you might need to
+check if you are writing plugins that run before a request is finalized.
+
=head2 $c->stash
Returns a hashref to the stash, which may be used to store data and pass
my $num_captures = $expanded_action->number_of_captures;
# ->uri_for( $action, \@captures_and_args, \%query_values? )
- if( !@args && $action->number_of_args ) {
+ if( !@args && $action->number_of_args && @$captures > $num_captures ) {
unshift @args, splice @$captures, $num_captures;
}