[
http://issues.apache.org/jira/browse/MODPYTHON-38?page=comments#action_65506 ]
Jim Gallacher commented on MODPYTHON-38:
----------------------------------------
Explicitly checking for req.session within PSP.run would also fix an unreported
bug, where the calling code uses a Session class which is different from the
default.
def handler(req):
...
sess = Session.FileSession()
template = psp.PSP(req,filename=path,vars=settings)
template.run()
And in class PSP we have:
def run(self, vars={}):
code, req = self.code, self.req
# does this code use session?
session = None
if "session" in code.co_names:
session = Session.Session(req)
Currently Session.Session uses dbm as the default session class, so in the
above code snippet we end up with 2 different persistent stores for the session
data.
> Passing req.form into psp.PSP().
> --------------------------------
>
> Key: MODPYTHON-38
> URL: http://issues.apache.org/jira/browse/MODPYTHON-38
> Project: mod_python
> Type: Improvement
> Versions: 3.1.4
> Reporter: Graham Dumpleton
> Priority: Minor
>
> When calling psp.PSP() explicitly to render PSP pages, it will internally
> setup
> req.form if it determines that the form is accessed by the PSP page.
> Problem is that if you are wanting to trigger psp.PSP() from a publisher
> function
> any form parameters have already been processed and req.form created. For a
> POST request this is problematic as in doing this it will have consumed all
> the
> content of the request.
> This means that when the form is processed a second time by psp.PSP(), it will
> find no request content. Thus, the PSP page will only be able to make use of
> GET form parameters and not POST form parameters.
> It would be an improvement if psp.PSP() allowed a instance of
> util.FieldStorage
> which has previously been created to be passed in through the "form" parameter
> of the constructor. Ie.,
> template = psp.PSP(req,filename=path,vars=settings,form=req.form)
> template.run()
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira