X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FWeb%2FDispatch.pm;h=9c5559f3124b04d1409dcaa4542ebe7d7c5b4854;hb=494bc0e765eb3875ca306bef9beaefc86192776c;hp=9fc44dd5985e451a19c3871081048f0ac5876b6d;hpb=e469cb94bfc921a2a30a8a0c0ae60db33858aa88;p=catagits%2FWeb-Simple.git diff --git a/lib/Web/Dispatch.pm b/lib/Web/Dispatch.pm index 9fc44dd..9c5559f 100644 --- a/lib/Web/Dispatch.pm +++ b/lib/Web/Dispatch.pm @@ -107,16 +107,12 @@ sub _to_try { my ($self, $try, $more) = @_; if (ref($try) eq 'CODE') { if (defined(my $proto = prototype($try))) { - $self->_construct_node( - match => $self->_parser->parse($proto), run => $try - )->to_app; + $self->_construct_node( match=> $proto, run => $try )->to_app; } else { $try } } elsif (!ref($try) and ref($more->[0]) eq 'CODE') { - $self->_construct_node( - match => $self->_parser->parse($try), run => shift(@$more) - )->to_app; + $self->_construct_node( match => $try, run => shift(@$more) )->to_app; } elsif (blessed($try) && $try->can('to_app')) { $try->to_app; } else { @@ -126,6 +122,7 @@ sub _to_try { sub _construct_node { my ($self, %args) = @_; + $args{match} = $self->_parser->parse( $args{match} ); $self->node_class->new({ %{$self->node_args}, %args }); }