use Moose;
+use namespace::clean -except => 'meta';
+
with 'MooseX::Emulate::Class::Accessor::Fast';
has action => (is => 'rw');
default => sub { {} },
);
-before parameters => sub {
- my ($self, $params) = @_;
- if ( $params && !ref $params ) {
- $self->_context->log->warn(
- "Attempt to retrieve '$params' with req->params(), " .
- "you probably meant to call req->param('$params')" );
- $params = undef;
- }
-
+around parameters => sub {
+ my ($orig, $self, $params) = @_;
+ if ($params) {
+ if ( !ref $params ) {
+ $self->_context->log->warn(
+ "Attempt to retrieve '$params' with req->params(), " .
+ "you probably meant to call req->param('$params')"
+ );
+ $params = undef;
+ }
+ return $self->$orig($params);
+ }
+ $self->$orig();
};
has base => (
has _path => ( is => 'rw', predicate => '_has_path', clearer => '_clear_path' );
-no Moose;
-
sub args { shift->arguments(@_) }
sub body_params { shift->body_parameters(@_) }
sub input { shift->body(@_) }
and the URI for the request was C<http://.../foo/moose/bah>, the string C<bah>
would be the first and only argument.
+Arguments just get passed through and B<don't> get unescaped automatically, so
+you should do that explicitly.
+
=head2 $req->args
Shortcut for arguments.