At 04:34 PM 2/6/2004, [EMAIL PROTECTED] wrote: >Joshua Slive wrote: >>>I do, however, agree that doing a directory-walk on virtual resources is >>>not nice. But my opinion is that "virtualness" is a property of the >>>resource, and hence should be designated when selecting the resource. >>>That is why I suggested changing SetHandler rather than <Location>. >> >>And perhaps I'm going way off in left field here, but why should this be >>user-configurable at all? Shouldn't the (for example) server-status >>handler know itself that it is a virtual handler, and therefore indicate >>that the directory-walk should be skipped? > >I like it! assuming we tweak it to be the module's responsibility to declare this >property, vs. strictly the handler's (too late).
Modules can do that today with some very trivial code... static int virtual_map_location(request_rec *r) { int access_status; /* Test that SetHandler forced to this content * otherwise skip it. */ if (strncmp(r->handler, "info-handler") != 0) return DECLINED; /* this info-handler won't deal with the filename * so null the filename to ensure no file is served. */ r->filename = ""; /* Don't let the core map_to_storage hook handle this, * We don't need directory/file_walk. See mod_proxy.c * if our own custom <Restrictions > blocks were needed. */ return OK; } static void register_hooks(apr_pool_t *p) { ... /* Suppress default dir_walk behavior, our module's * content is virtual. */ ap_hook_map_to_storage(virtual_map_location, NULL, NULL, APR_HOOK_MIDDLE); }