OK - here is a simpler case of just a "hello world" type module as the first
stage in filtering, with AxKit at the end.  I'm getting "Bad filter_input
status" from AxKit.  Am I supposed to being something different wth my
module?

> Apache::Filter is 1.011

My first module in the filter chain - prints an XML doc to STDOUT

package Barry::Hello;

use Apache::Constants qw(:common);
use Carp;
use strict;

sub handler {
    my $r = shift;
    my $filter = $r->dir_config('Filter');
    carp "filter status is $filter";
    if ($filter) {
        my ($fh, $status) = $r->filter_input();
        return $status unless $status == OK;
    }

    $r->content_type('/text/xml');

    print(q{<?xml version="1.0"?>
<?xml-stylesheet href="/xsl/camel.xsl" type="text/xsl"?>
<dromedaries>
<species name="Camel">
      <humps>1 or 2</humps>
      <disposition>Cranky</disposition>
    </species>
    <species name="Llama">
      <humps>1 (sort of)</humps>
      <disposition>Aloof</disposition>
    </species>
    <species name="Alpaca">
      <humps>(see Llama)</humps>
      <disposition>Friendly</disposition>
    </species>
</dromedaries>

});

    return OK;

}

1;

--

My httpd.conf:

 # AxKit Configuration
PerlModule AxKit
AxProvider Apache::AxKit::Provider::Filter
AxAddStyleMap text/xsl Apache::AxKit::Language::Sablot
AxCacheDir /home/httpd/axkit_cache
AxDebugLevel 10

PerlModule Apache::Filter
PerlModule Barry::Hello

# turn on filtering
PerlSetVar Filter On

SetHandler perl-script
PerlHandler Barry::Hello AxKit

--

Here's the log messages:

filter status is On at /dev/null line 0
*******info for /home/httpd/comp_root/docs is  at
/usr/lib/perl5/site_perl/5.005/Apache/Filter.pm line 33.
[AxKit] : (Re)loading Apache/AxKit/Provider/Filter.pm
*******info for /home/httpd/comp_root/docs is count 1 is_dir 1 fh_in
GLOB(0x9ebfc44) at /usr/lib/perl5/site_perl/5.005/Apache/Filter
.pm line 33.
[Thu Oct 12 17:39:32 2000] [error] [client 172.19.1.51] [AxKit] [Error] Bad
filter_input status
[Thu Oct 12 17:39:32 2000] [error] [client 172.19.1.51] [AxKit] From:
/usr/lib/perl5/site_perl/5.005/i586-linux/Apache/AxKit/Provide
r/Filter.pm : 39
[Thu Oct 12 17:39:32 2000] [error] [client 172.19.1.51] [AxKit] [Backtrace]
Bad filter_input status at /usr/lib/perl5/site_perl/5.00
5/i586-linux/Apache/AxKit/Provider/Filter.pm line 39

Apache::AxKit::Provider::Filter::init('Apache::AxKit::Provider::Filter=HASH(
0xa3ccc00)') called at /usr/lib/perl5/site_perl/
5.005/i586-linux/Apache/AxKit/Provider.pm line 19
        Apache::AxKit::Provider::new('Apache::AxKit::Provider',
'Apache=SCALAR(0xa0a1c68)') called at /usr/lib/perl5/site_perl/5.005
/i586-linux/AxKit.pm line 435
        AxKit::handler('Apache=SCALAR(0xa0a1c68)') called at /dev/null line
0
        eval {...} called at /dev/null line 0


--
Barry Hoggard
Chief Technology Officer
http://www.investorama.com
v: 212.905.1639 x194
e: [EMAIL PROTECTED]



Reply via email to