# This file documents the revision history for Perl extension Catalyst.
+5.90125 - 2020-01-18
+ - Support samesite flag for cookies (mitchjacksontech++)
+ - utility method on Catalyst::Action 'equals'
+ - new predicate methods 'has_request' and 'has_response'. Useful in
+ plugins that might run bits before a request is finalized.
+
5.90124 - 2019-01-18
- Fix problem with from_psgi_response and streaming applications (
https://github.com/perl-catalyst/catalyst-runtime/pull/168).
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.90124';
+our $VERSION = '5.90125';
$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
sub import {
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
return $a1->comparable_arg_number <=> $a2->comparable_arg_number;
}
+sub equals {
+ my ($self, $target) = @_;
+ return $self->private_path eq $target->private_path ? $self : 0;
+}
+
sub scheme {
return exists $_[0]->attributes->{Scheme} ? $_[0]->attributes->{Scheme}[0] : undef;
}
Compares 2 actions based on the value of the C<Args> attribute, with no C<Args>
having the highest precedence.
+=head2 equal
+
+ if( $action->equal($other_action) ) { ... }
+
+Returns true if the two actions are equal.
+
=head2 namespace
Returns the private namespace this action lives in.