I'm relatively new to perl, Apache, and modperl. So I may have some
assumptions wrong.


We're using OWA to connect Apache to our Oracle database. This is fine.

We're using the TicketTool code from the Eagle book to provide our
authentication. This is fine.

But in conjunction, they fail. Having trawled around in the source, I
think the problem is...

TicketTool.pm invokes CGI::Cookie, which makes CGI.pm initialize,
which caches, amongst other things, $ENV{REQUEST_METHOD}. Which
doesn't appear to be set at this point in the request cycle.

OWA.pm invokes CGI.pm to extract the request parameters. Since it
doesn't know what the request method is, read_from_cmdline is
invoked. Obviously, this doesn't work too well.

(In fact, CGI::Cookie uses CGI with -no_debug, so this doesn't happen
on the first request handled by any particular server, but the
NO_DEBUG flag is cleared for second and subsequent requests...)

Currently, we're working around this by explicitly setting
$CGI::NO_DEBUG=1 in the TicketTool module. But I'm sure there ought to
be a better way. Any thoughts, comments, ideas?

-- 
Tommy Wareing
This .sig space available for rent.
Apply within.

Reply via email to