Re: Extraneous request on PATH_INFO url

Torsten Förtsch <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.