use Test::More; use Plack::Test; use HTTP::Request::Common; use Ref::Util qw; package AppA { use Dancer2; use Dancer2::Plugin::JWT; hook before_request => \&Util::before_request; get '/' => sub { return; }; }; package AppB { use Dancer2; use Dancer2::Plugin::JWT; hook before_request => \&Util::before_request; get '/' => sub { return; }; }; package Util { # use Dancer2; use Dancer2::Plugin::JWT; sub before_request { my $app = shift; my $jwt = jwt; print "BEFORE REQUEST WORKED: " . $app->name . " " . $jwt . "\n"; } }; my $a = AppA->to_app; ok(is_coderef($a), 'Got AppA'); my $b = AppB->to_app; ok(is_coderef($b), 'Got AppB'); my $t1 = Plack::Test->create($a); my $r1 = $t1->request(GET '/'); is($r1->code, 200, 'GET / A'); my $t2 = Plack::Test->create($b); my $r2 = $t2->request(GET '/'); is($r2->code, 200, 'GET / B'); done_testing();