package TestModperl::current_callback; use strict; use warnings FATAL => 'all'; use Apache::Test; use Apache::TestUtil; use ModPerl::Util; use APR::Table (); use Apache2::RequestRec (); use Apache2::Const -compile => qw(OK DECLINED); sub handler { my $r = shift; plan $r, tests => 1; my $callback = ModPerl::Util::current_callback(); ok t_cmp($callback, 'PerlResponseHandler', 'inside PerlResponseHandler'); #warn "in callback: $callback\n"; Apache2::Const::OK; } sub log { check('Log') } sub fixup { check('Fixup') } sub headerparser { check('HeaderParser') } sub check { my $expected = 'Perl' . shift() . 'Handler'; my $callback = ModPerl::Util::current_callback(); die "expecting $expected callback, instead got $callback" unless $callback eq $expected; #warn "in callback: $callback\n"; return Apache2::Const::OK; } 1; __DATA__ PerlModule TestModperl::current_callback PerlHeaderParserHandler TestModperl::current_callback::headerparser PerlFixupHandler TestModperl::current_callback::fixup PerlResponseHandler TestModperl::current_callback PerlLogHandler TestModperl::current_callback::log SetHandler modperl