FAQ

On 05/07/2006, at 5:47, Stas Bekman wrote:
http://perl.apache.org/docs/2.0/user/handlers/
filters.html#HTTP_Request_vs__Connection_Filters
OK Some very weird and interesting problems here. I think they are
bugs, but I am not certain.

Firstly - if you write the code... (straight from the example in the
POD and URL above)

package MyApache2::FilterRequestFoo;
use base qw(Apache2::Filter);
sub output : FilterRequestHandler {
my ($f, $bb) = @_;
}
1;

You get this:
~/tmp$ perl -c test.pm
Invalid CODE attribute: FilterRequestHandler at test.pm line 4
BEGIN failed--compilation aborted at test.pm line 6.

So I went back to the core code and the tests. The test that use
FilterRequestHandler is t/filter/TestFilter/out_init_basic.pm (and
some others) but that reports the same problem:

scottp@lust:521:~/src/mod_perl-2.0.2/t$ perl -c filter/TestFilter/
out_init_basic.pm
Invalid CODE attribute: FilterInitHandler at filter/TestFilter/
out_init_basic.pm line 22
BEGIN failed--compilation aborted at filter/TestFilter/
out_init_basic.pm line 35.

On searching the entire archive for FilterRequestHandler I find

scottp@lust:527:~/src/mod_perl-2.0.2$ grep -r FilterRequestHandler *|
grep -v blib|grep -v doc
Changes:handler is not required to have the FilterRequestHandler
attribute as
src/modules/perl/modperl_filter.c: /* needs to have the
FilterRequestHandler attribute, but
src/modules/perl/modperl_filter.c: * have the
FilterRequestHandler attribute, croak only if
src/modules/perl/modperl_filter.c: * FilterRequestHandler */
src/modules/perl/modperl_filter.c:
"FilterRequestHandler attribute set",
t/lib/TestCommon/FilterDebug.pm:sub snoop_request :
FilterRequestHandler { snoop("request", @_) }
t/filter/TestFilter/out_init_basic.pm:sub transparent :
FilterRequestHandler
t/filter/TestFilter/in_bbs_body.pm:sub handler : FilterRequestHandler {
t/filter/TestFilter/in_init_basic.pm:sub transparent :
FilterRequestHandler
t/filter/TestFilter/in_str_msg.pm:sub req : FilterRequestHandler {

Ignoring the 't' directory above for tests, and I already removed the
doc directory - then there is actually only one reference to the text
'FilterRequestHandler' at all - and that is in the string
"FilterRequestHandler attribute set"

Within the XS code it is referred to as MP_FILTER_REQUEST_HANDLER -
which is assigned the value 0x02 - but there does not seem to be a
way to get from the perl FilterRequstHandler to
MP_FILTER_REQUEST_HANDLER

Versions:
Perl 5.8.6 - tested with Attributes fine, so the problem is not
likely perl
mod_perl 2.0.2 - current release
Apache 2.2 - current release

I am a bit lost - it seems to me that the attributes
FilterRequestHandler, FilterInitHandler etc can not work in the
current release.

But... maybe I have missed something ?

Scott

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 8 of 16 | next ›
Discussion Overview
groupmodperl @
categoriesmodperl, perl
postedJun 19, '06 at 1:34a
activeAug 8, '06 at 4:12a
posts16
users3
websiteperl.apache.org

People

Translate

site design / logo © 2018 Grokbase