[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mod_perl Apache2 RequestRec allowed problem


I am trying to set the allowed bitmask in a custom request handler
when I receive the OPTIONS method (and when I receive a method request
for a method I do not support).

I have followed the example in
http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_allowed_
but Apache always returns "Allow: GET,HEAD,POST,OPTIONS,TRACE" in the
header irrespective of what options I set.

For example, lets say I only accept PUT to try to restrict the
available options to OPTIONS, TRACE, and PUT.

I have tried both
$r->allowed($r->allowed | (1<< Apache2::Const::M_PUT));
and
$r->allowed(1<<Apache2::Const::M_PUT);
with a return of Apache2::Const::DECLINED in either case in my handler.

Neither ends up modifying the supported options sent to the client.

In tha handler if I print the return value of $r->allowed:
print $r->allowed(1<<Apache2::Const::M_PUT) . "\n";
print $r->allowed() . "\n";
return Apache2::Const::DECLINED;

I get:
1
2

So the record is being updated, but for some reason Apache is not
basing its response to the client off of the record.

Can anyone provide any insight into why I am unable to modify the list
of request methods my handler is capable of servicing?

thanks,
Christopher


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.