On Monday 03 May 2010 13:06:22 Cédric Bertolini wrote: > I'm migrating our web server from Apache1.3/modperl1 to Apache2.2/modperl2. > Everything went smoothly (thanks for the great documentation on > perl.apache.org !), until I began to set up FixurHandlers and > CleanUpHandlers to manage the user session. > > At that point, I noticed something strange : when the browser requests a > script with a path_info part, my FixupHandler script traces a request on > the path_info part. e.g. an initial request to > http://myserver.domain.com/perl/script.pl/perl/module generates a request > to /perl/script.pl, but also an inner (sub?) request to /perl/module. The > subrequest doesn't seem to call the ResponseHandler, it goes straigth from > Fixup to CleanUp.
That's the subrequest apache uses to compute PATH_INFO_TRANSLATED, a standard CGI variable. > So I see this: > > [MapToStorage] /perl/script.pl/perl/module > [Fixup] /perl/script.pl > [MapToStorage] /perl/module > [Fixup] /perl/module > [CleanUp] /perl/module > [Response] /perl/script.pl > [CleanUp] /perl/script.pl > > It's kinda strange, since /perl/module is just a path_info, but I can live > with that. The problem is that my Fixup handler tries to actually fix > things up for the upcoming request, like tie-ing a variable for my > session. When there's no actual request, I'm tie-ing the variable for > nothing, and it's detrimental. > > So I have two questions : > > Can I prevent the subrequest ? Maybe a return value to the main Fixup > handler ? "PerlOptions -SetupEnv" or so > Can I inspect the subrequest to know that it is a subrequest ? Maybe a $r > method ? > $r->is_initial_req (in Apache2::RequestUtil) Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net