On 2012-08-17 16:25, nik600 wrote:
Dear all

i'm trying to code a custom module that will implement some logic this
is the concept of the module:

*********************************

/*
* some stuff...
*/
if(condition){

/*return a custom result*/

return OK;

}else{
/*forward the request to another server*/

            r->filename = "proxy:http://www.google.it/";;
            r->proxyreq = PROXYREQ_PROXY;
            r->handler  = "proxy-server";  

return OK;
}
*********************************

But it seems that when i go into the else condition the proxy request
isn't handled.

proxy and proxy_http are enabled and correctly working.

Is this code correct to forward a request and make my module working
as a proxy_http ?


Try

if (condition) {
 ...
 return OK;
} else {
 return DECLINED;
}

and make sure your handler runs before mod_proxy's:

static const char *succ[] = {"mod_proxy.c", NULL};
ap_hook_handler(&your_handler, NULL, succ, APR_HOOK_MIDDLE);

Then put a ProxyPass in your conf:

<Location /your_url>
   ProxyPass http://www.google.it/ keepalive=On
</Location>

Also make sure you do not check on r->handler. Even if you set "SetHandler your_handler", ProxyPass will overwrite it with "proxy-server".


Sorin


Thanks in advance


Reply via email to