# HG changeset patch # User wizard # Date 1293537497 -10800 # Node ID 47c9877ccaccfaab0cc01eae632a364847a9cef0 # Parent 3f09584bf18912828673cbfef58a93634a2d883a Added a handler for rewriting a PATH_INFO value, useful with a json handlers diff -r 3f09584bf189 -r 47c9877ccacc Lib/IMPL/Web/QueryHandler/PathInfoRewrite.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lib/IMPL/Web/QueryHandler/PathInfoRewrite.pm Tue Dec 28 14:58:17 2010 +0300 @@ -0,0 +1,26 @@ +package IMPL::Web::QueryHandler::PathInfoRewrite; +use strict; + +use base qw(IMPL::Web::QueryHandler); +__PACKAGE__->PassThroughArgs; + +use IMPL::Class::Property; + +BEGIN { + public property pathinfoPrefix => prop_all; +} + +sub Process { + my ($this,$query,$nextHandler) = @_; + + my $pathInfo = $ENV{PATH_INFO}; + if (my $rx = $this->pathinfoPrefix) { + $pathInfo =~ s/^($rx)//; + } + + local $ENV{PATH_INFO} = $pathInfo; + + scalar $nextHandler->(); +} + +1; \ No newline at end of file