|
Roy S. Rapoport
mod_python at ols.inorganic.org
Thu Jun 26 01:04:02 EST 2003
Hey guys,
Anyone have any experience integrating mod_python with Python Service
Objects?
I've got a problem where if I'm dealing with an authenhandler, I end up
with an error message that says:
---
Mod_python error: "PythonLogHandler pso.modpython::cleanup"
Traceback (most recent call last):
File
"/usr/local/Python/lib/python2.2/site-packages/mod_python/apache.py", line
332, in HandlerDispatch
result = object(req)
File "/usr/local/Python/lib/python2.2/site-packages/pso/modpython.py",
line 36, in cleanup
service.cleanup(req)
File "/usr/local/Python/lib/python2.2/site-packages/pso/service.py", line
52, in cleanup
req.pso().close()
AttributeError: 'mp_request' object has no attribute 'pso'
---
I'm pretty sure this is related to authenhandler because if you then try to
access a resource under this directory -- which means that now you're not
going through authenhandler -- it works.
My script looks like this:
---
from mod_python import apache
def foo(req):
try:
req.pso().session['visits'] +=1
except:
req.pso().session['visits'] =1
f = "Hello World! ~ Your visit number: %(visits)d ~ Try Reload !" % req.pso().session
return f
def authenhandler(req):
user = req.user
pw = req.get_basic_auth_pw()
if (user == "foo" and pw == "bar"):
return apache.OK
else:
return apache.HTTP_UNAUTHORIZED
---
my .htaccess looks like this:
---
AddHandler python-program .py
PythonHandler mod_python.publisher
pythonauthenhandler quicktest
PythonFixupHandler pso.modpython::fixup
PythonLogHandler pso.modpython::cleanup
PythonDebug On
AuthType Basic
AuthName "Enter your email username and password"
require valid-user
---
To test this:
Go to http://www.inorganic.org/~rsr/python2/quicktest.py/foo
Authenticate with foo/bar
This should pause for a moment and then give you the error message.
If you hit 'reload,' you don't go through authenhandler (since you're
already authenticated) and you get the correct output.
Thoughts?
-roy
|