use strict; use warnings; use Test::More; use Plack::Test; use Plack::Request; use HTTP::Request::Common; use Plack::Builder; use Plack::App::URLMap; my ($before, $after); my $app_a = sub { my ($env) = @_; my $r = Plack::Request->new($env); sub { my ($cb) = @_; $before = $r->base->as_string; diag("before: $before"); $cb->([200,[qw(Content-Type text/plain Content-Length 0)],[]]); $after = $r->base->as_string; diag(" after: $after"); } }; my $app = builder { mount '/a' => builder { $app_a } }; ok($app, 'app created'); test_psgi($app, sub { my ($cb) = @_; my $res = $cb->(GET('/a/test')); is($res->code, 200, 'got successful response'); is($before, $after, 'Plack::Request base URI unchanged'); }); done_testing();