RE: Calling mod_proxy from a perl script

Deliens Christophe <[email protected]> Tue, 25 Mar 2003 09:30:36 +0100
Newsgroups gmane.comp.apache.mod-proxy
Message-ID <82A2EB37E8A6D6118AA100065B3FA718100F42@DAD-NT8>
Ok, I found out what the problem was... 

I was using "PerlModule" to call my module instead of "PerlTransHandler" =p

Works fine now!

Thx for your help!
Chris.


-----Original Message-----
From: Ian Holsman [mailto:[email protected]] 
Sent: Monday, March 24, 2003 6:18 PM
To: [email protected]
Subject: Re: Calling mod_proxy from a perl script


I think the reason why mine works & yours doesn't (it's exactly the same
code) is the execution order.

currently my hook is set up as:
  static const char * const aszPost[] = { "mod_proxy.c", NULL };

  ap_hook_translate_name(hook_name ,NULL,aszPost,APR_HOOK_FIRST);

so it runs just >before< mod-proxy.

also it returns 'OK'  (meaning the proxy's translate_name hook doesn't get
called)

I can't share the source unfortunatly..

--ian

Deliens Christophe wrote:
> Cool!
> 
> Can you send me your httpd.conf? or maybe just the configuration part 
> of mod_proxy & your module... That would be nice!
> 
> Thx!
> Chris
> 
> 
> -----Original Message-----
> From: Ian Holsman [mailto:[email protected]]
> Sent: Friday, March 21, 2003 7:18 PM
> To: [email protected]
> Subject: Re: Calling mod_proxy from a perl script
> 
> 
> Deliens Christophe wrote:
> 
>>Hi,
>> 
>>I have a perl script which needs to "use" mod_proxy under Apache 2.
>> 
>>What I have right now is :
>> 
>>   $r->proxyreq(1);
>>   $r->uri($url);
>>   $r->filename("proxy:$url");
>>   $r->handler('proxy-server');
>>   return Apache::OK;
>>But it doesn't seem to call the mod_proxy after that...
>> 
>>Any idea why it doesn't?
>> 
>>Thx!
>>Chris
> 
> 
> this is the C code I use to make a request into a reverse-proxied one. 
> (slightly edited)
>     if (isDynamic == 1)  {
>              const char *szApp= "http://foobar";
> 
>              r->filename = apr_pstrcat(r->pool,"proxy:",  szApp, 
> r->uri, NULL);
>              r->handler = "proxy-server";
>              r->proxyreq = PROXYREQ_REVERSE;
>              r->filename=pNewURL;
>      }
> and it works ok for me.