After banging my head all day I have narrowed this down just a little...

I had a terrible time working out WHY the Test code works but nothing else does. And I have finally solved that, but not why.

The answer is which Handler for the original content being filtered.

I added a simple handler to the ExpandTest.pm and changed config to

<Location /zx>
        SetHandler modperl
        PerlResponseHandler Zaltana::ExpandTest::response
        PerlOutputFilterHAndler Zaltana::ExpandTest
</Location>

And it works fine - assuming of course that I only want to filter my own Perl code.

Change the above to:

<Location /zx>
        SetHandler default
        PerlOutputFilterHAndler Zaltana::ExpandTest
</Location>

And it segfaults every time.

One of the reasons of course to write a Filter is that I don't have access to the code producing the content (in my case that is a combination of C, Perl, PHP, Subversion modules etc) - so I want to simply do a filter on the way out.

It should be noted that the Subrequest can be anything - that works well - it can be default or modperl - or anything I have tried. It is the original thing you are trying to filter that is the problem i.e. the thing being filtered, not the subrequest being requested.

Once this is solved I will write up an extra test which will be along the lines of TestFilter/out_str_subreq_default_default - currently the tests check that the Subrequest can be default or modperl, but not the original.

Scott

Reply via email to