Jim Dabell
jim-mod-python at jimdabell.com
Thu Aug 12 18:37:17 EDT 2004
I'm just getting stuck into mod_python, and I've hit a bit of a snag. I am writing a handler, but would like to use PSP to construct a few pages. So I'm instantiating a PSP object, and using its run() method to execute it. Unfortunately, that just repeatedly calls req.write(), which doesn't give me the opportunity to perform any operations on the result before it is sent to the client, or even output additional headers afterwards. For instance, I can't find a way of producing a Content-Length header, or using content encoding to gzip the response body. run() actually calls req.write with flush=0, but then explicitly calls flush() afterwards. For the moment, I'm working around this by passing a proxy object that intercepts write() and flush() to the PSP constructor. This seems like a pretty fragile hack to me though, and I was wondering if there was a better way of accomplishing what I am after, or plans to make PSP more flexible in later releases. As far as I can tell, my only other options are: a) Dump PSP b) Alter psp.py c) Dump my handler and use the PSP handler. None of these are particularly attractive options to me. Does anybody have any better suggestions? Google, the FAQ and the manual didn't turn up anything particularly inspiring. -- Jim Dabell
|