Spike
view release on metacpan or search on metacpan
lib/Spike/Site/Request.pm view on Meta::CPAN
@{$self->_named_url_parameters},
);
}
sub safe_path {
my $self = shift;
if (!defined $self->env->{'spike.request.safe_path'}) {
my @parts;
for my $part (grep { defined && length } split m!/+!, $self->path_info) {
$part =~ s!\0!!g;
if ($part eq '.') {
# do nothing
}
elsif ($part eq '..') {
pop @parts;
}
else {
push @parts, $part;
lib/Spike/Site/Router.pm view on Meta::CPAN
$self->_try_static($req, $res, $path) ? qw(GET) : ();
my @handlers = $self->cache->get($path);
if (!@handlers) {
my ($found, $last_found) = $self->route->find($path);
@handlers = (
$found,
$self->_find_handlers($found || $last_found),
[ split m!/!, $path ],
);
$self->cache->store($path, @handlers);
}
my ($route, $prepare, $finalize, $errors, $names, $values) = @handlers;
$req->_bind_named_url_parameters(zip @$names, @$values);
my $handler;
( run in 0.718 second using v1.01-cache-2.11-cpan-71847e10f99 )