PerlInputFilterHandler一次又一次地调用自己

时间:2010-11-27 13:03:09

标签: perl apache mod-perl mod-perl2

它与mod_perl有关。

我只在我的位置标记中指定了一个过滤器。

<Location /testproj/AServlet>
SetHandler modperl
PerlInputFilterHandler MyApache2::Test3
</Location>

在这里,当我在浏览器中点击http://localhost/testproj/AServlet网址时。它只是挂起。 Test3过滤器一次又一次地调用自己。我想只执行一次Test3过滤器并将控制传递给“AServlet”资源。

我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

这是因为你没有调用旅中的下一个过滤器。

package TestFilter;

use base qw(Apache2::Filter);
use Apache2::Const qw(OK);
use APR::Const qw(SUCCESS);

sub handler {
  my ($f, $bb, $mode, $block, $readbytes) = @_;
  my $rv = $f->next->get_brigade($bb, $mode, $block, $readbytes);
  return $rv unless $rv == APR::Const::SUCCESS;

  # do you filtering stuff

  return OK;
}

1;