> > ap_process_request_internal() is called at the very end of > > ap_sub_req_lookup() and I don't > > see that it is providing any additional information that is not > already > > available prior to > > the call (ie, we already have stat'ed the file and know all the finfo > > required by the > > caller). The only useful thing that I see happening is authentication. > > Otherwise, we do > > not want to run translate_name or most of the other hooks as far as I > can > > see... > > We have to run all of the hooks, from translate_name through fixups for > all sub-requests. While translate_name shouldn't do anything for a > lookup_dirent call, all of the auth hooks, type_checker, and fixups can > all modify the request. By calling ap_process_request_internal the code > is simplified, because there is only one way to go through request > processing. The previous solution had a different path for every > subrequest mechanism. > > Ryan >
I am not an expert in this area, but it appears that we skip running a lot of the hooks in ap_process_request_internal depending on whether the request is a subrequest or not (and the check for subrequests is very coarse grained, precluding the possibility of selectively handling different subrequests differently. For instance, a dirent subrequest should not call the quick handler ever... perhaps it is okay for other subrequests to call quick_handler... Bill