On Tue, Jan 14, 2003 at 12:32:29PM +1100, Stas Bekman wrote:
> 
> <Location /plop/>
>     SetHandler perl-script
>     PerlHeaderParserHandler Apache::Plop
> </Location>
> 

Well, this is not really what I want to do ...
I would like to catch all the "proxy request" and apply modifications to
the requested document before forwarding the answer back to the client.
That's why I used the "PerlTransHandler" which is "global" and not tied
to a particular directory.

> 
> Now to your code:
> 
> 1. You can't push_handlers when you are inside a response handler.
> Use PerlHeaderParserHandler instead
> 
> 2. $r->headers_in->do() expects a return value and will abort on 0; see 
> the attached code
> 
> also it should be:
>             $request->header( $_[0] => $_[1] );
> instead of:
>             $request->header( {$_[0]} => $_[1] );
> 
> have you looked at error_log? You'd have seen that error reported.
> 
> 3. This is not good:
>     my $request = HTTP::Request->new( $r->method, $r->uri);
> since you don't the whole url. Use this instead:
>     my $request = HTTP::Request->new( $r->method, $r->construct_url);
> this requires 'use Apache::URI'
> 
> 4.  Finally I've used a special header: (which can be anything)
>   $request->header( GetReal => 1 );
> to know that now I'm inside the real request.
> 

Thanks for your remarks.

I installed modperl-1.99_08 and I keep getting SEGFAULT with my original
code ... I think I'll try to get it working first on mod_perl 1.x then
get back to modperl 2

-- 

Reply via email to