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

Reply via email to