Glenn Martin wrote: > Actually if i read the documentation correctly, im > doing it just right. Map to Storage is right before it > get mapped to a Location/Directory... and thus this is > where id want to add Directory/Location and Alias > directives based off of the incomming URI... Im trying > to control DAV input. Take the URI, translate it to a > Folder, Check the folders contents to see if it > matches a Subversion repository and if it does map the > Location to SVN Dav and that repository otherwise Map > the Directory to the URI using an Alias and a > Directory and turn on normal WebDAV... Then return > Decline to Apache then tries to Match the URI to the > Modified Config. Which will active the correct module > for the correct folder...
I hope I understood this correctly, so apologies if I didn't. > However i need this configuration change to be > Temporary... Per request only... I need the Alias' or > Location/Directory sections to no longer exist.. You can't 'remove' configuration directives you've injected in httpd. And those are very *global* and would affect much more than the current request. > What handler do i use? and how do i reset the > configuration? You don't reset the configuration, but you simply take a different approach. Instead of trying to inject httpd configuration, your MapToStorage handler needs to emulate Alias/Location directives. For instance, if you needed to Alias /foo to /var/www/foo, instead of doing what I believe you are currently doing: $r->add_config(["Alias /foo /var/www/foo"]); Simply do what mod_alias would have done... $r->filename(File::Spec->catfile("/var/www", $r->uri)); And you get pre-request behaviour just like you wanted. And it's tons faster too ;-) -------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature