Eric Hammond wrote:
> Lincoln:
> 
> After a day of adding debug statements into Apache::MP3 and CGI.pm
> I finally tracked down why my streaming was not working.  I had
> listened to http://perl.apache.org/guide/performance.html#PerlSetupEnv_Off
> which caused $ENV{QUERY_STRING} to not be set which broke CGI.pm.

The guide does say:

    Scripts using the CGI.pm module require PerlSetupEnv On
    because that module relies on a properly populated CGI
    environment table.

But I realize that a user of Apache::MP3 may not realize that the latter 
uses CGI.pm under the hood.

Can CGI.pm detect that 'PerlSetupEnv Off' is in effect and die if that's 
the case? for example by testing some env var that most likely should be 
set with 'PerlSetupEnv On'? e.g.:

   #check that we aren't running under PerlSetupEnv Off
   if ($ENV{MOD_PERL} && !ENV{SCRIPT_FILENAME}) {
       die "CGI.pm cannot run under 'PerlSetupEnv Off' setting";
   }



> To save others the agony, you might want to add a note to the Apache::MP3
> docs that it requires "PerlSetupEnv on"
> 
> Alternatively, you might consider rewriting Apache::MP3 to use 
> Apache::Request instead of CGI.pm (though I understand you may have 
> a fondness for the latter).
> 
> I've included a patch to convert Apache::MP3 to use Apache::Request
> for parameters.  More work would be required to convert the other uses 
> of CGI.pm, but if you'd like, I'd be willing to tackle that, too, as 
> it would be nice to not require the large size of CGI.pm.
> 

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/

Reply via email to