> > =head2 $req->path >
Returns the path, i.e. the part of the URI after $req->base, for the > current request. Pasted below is Catalyst::Request's path method. Note from the final else block that $req->path returns the request uri's path ($req->uri->path) with the $req->base->path *removed* as the documentation says. So, if the request URI and base URI are these: http://localhost/myapp/path/to/action # $req->uri http://localhost/myapp/ # $req->base then $req->path is: path/to/action Using the example above, and looking at what $req->path( ) does as a setter: $req->path( $req->path ); would result in a new request URI of: http://localhost/path/to/action. The path method doesn't document what it does as a setter, but this behavior looks broken because it alters the request URI's path. What do you think? sub path { my ( $self, @params ) = @_; if (@params) { $self->uri->path(@params); $self->_clear_path; } elsif ( $self->_has_path ) { return $self->_path; } else { my $path = $self->uri->path; my $location = $self->base->path; $path =~ s/^(\Q$location\E)?//; $path =~ s/^\///; $self->_path($path); return $path; } } -- Bill Moseley mose...@hank.org
_______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/