Hello and many thanks to Martin and Geoffrey, Martin was right - using "Dump" revealed that only "Our::Auth" was passed as an input variable (and the request was not passed at all). After I changed "PerlAuthenHandler Our::Auth->authen_handler" to "PerlAuthenHandler Our::Auth::authen_handler", the handler started to get the request as the first variable.
If Martin can give such exact advices after a bad night, I ask what wonders he can do when he is OK :) Thanks a lot to Geoffrey for Apache-Test, it looks very helpful. -Marina -----Original Message----- From: Geoffrey Young [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 02, 2004 3:09 PM To: Marina Markus Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Request methods not found > This code works OK in RedHat but cannot find "get_basic_auth_pw" in SGI. > Still, my feeling is that that something simple but imporant is omitted > in the code. no, the code looks fine. the issue isn't that get_basic_auth_pw() can't generally be found, but that $r isn't an Apache object, so your code is looking in the wrong place. and you could be looking in the wrong place through no fault of your code at all - as martin suggested, you are probably using method handlers without knowing it. besides the (good) advice that martin gave in his post, a really, really good way to track this down would be to use Apache-Test. not that you are required to do this, but if you're interested in spending the up-front time to learn something new that will save you _lots_ of time in the future, give this a whirl... first, install Apache-Test from CPAN: http://search.cpan.org/dist/Apache-Test/ then download this sample tarball: http://perl.apache.org/~geoff/Apache-Test-skeleton-mp1.tar.gz and tweak the distribution so that your handler is activated (follow the README to get started). then try this: $ perl Makefile.PL -httpd /path/to/your/apache/bin/httpd $ make $ t/TEST -conf $ t/TEST -start and you can use your browser (or lynx or whatever) to hit http://localhost:8529/ and see your handler in action. you could also take the time to tweak bug.t to act as a client for you. the benefit here is that you now have a pristine environment with nothing attached to it except the code in question, and you can roll up your code (via make dist) and try it on different boxes. you can even post a link to the tarball you have made for developers here to try, which would save iterations of 'what's the code? what's the configuration?" and so on. now, if you don't do all of that, never fear - we're still here to help :) but it's something to keep in mind as you go forward with mod_perl related things. Apache-Test is a wonderful development tool, so taking the time to get familiar with it will reap many, many benefits in the long term. >>well, that message says that it can't find get_basic_auth_pw() via >>Our::Auth. it should be looking for it via the Apache class, not >>Our::Auth. > > > What checks can I do to see if Apache class is seen by mod_perl? it is, or the 'use Apache' call would die. HTH --Geoff -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html