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 => (
=head2 $req->base
-Contains the URI base. This will always have a trailing slash.
+Contains the URI base. This will always have a trailing slash. Note that the
+URI scheme (eg., http vs. https) must be determined through heuristics;
+depending on your server configuration, it may be incorrect. See $req->secure
+for more info.
If your application was queried with the URI
C<http://localhost:3000/some/path> then C<base> is C<http://localhost:3000/>.
=head2 $req->secure
-Returns true or false, indicating whether the connection is secure (https).
+Returns true or false, indicating whether the connection is secure
+(https). Note that the URI scheme (eg., http vs. https) must be determined
+through heuristics, and therefore the reliablity of $req->secure will depend
+on your server configuration. If you are serving secure pages on the standard
+SSL port (443) and/or setting the HTTPS environment variable, $req->secure
+should be valid.
=head2 $req->captures