[Zope-Checkins] SVN: Zope/trunk/ Ensure WSGIPublisher also starts and ends an interaction (analogous to the ZServer publisher).
Malthe Borch
cvs-admin at zope.org
Tue Oct 9 10:02:17 UTC 2012
Log message for revision 127955:
Ensure WSGIPublisher also starts and ends an interaction (analogous to the ZServer publisher).
Changed:
U Zope/trunk/doc/CHANGES.rst
U Zope/trunk/src/ZPublisher/WSGIPublisher.py
-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst 2012-10-09 08:54:15 UTC (rev 127954)
+++ Zope/trunk/doc/CHANGES.rst 2012-10-09 10:02:11 UTC (rev 127955)
@@ -11,6 +11,11 @@
Bugs Fixed
++++++++++
+- Ensure that the ``WSGIPublisher`` begins and ends an *interaction*
+ at the request/response barrier. This is required for instance for
+ the ``checkPermission`` call to function without an explicit
+ ``interaction`` parameter.
+
- Ensure that ObjectManager's ``get`` and ``__getitem__`` methods return only
"items" (no attributes / methods from the class or from acquisition).
Thanks to Richard Mitchell at Netsight for the report.
Modified: Zope/trunk/src/ZPublisher/WSGIPublisher.py
===================================================================
--- Zope/trunk/src/ZPublisher/WSGIPublisher.py 2012-10-09 08:54:15 UTC (rev 127954)
+++ Zope/trunk/src/ZPublisher/WSGIPublisher.py 2012-10-09 10:02:11 UTC (rev 127955)
@@ -19,6 +19,7 @@
from zExceptions import Redirect
from zExceptions import Unauthorized
from zope.event import notify
+from zope.security.management import newInteraction, endInteraction
from zope.publisher.skinnable import setDefaultSkin
from ZServer.medusa.http_date import build_http_date
@@ -165,6 +166,7 @@
) = _get_module_info(module_name)
notify(PubStart(request))
+ newInteraction()
request.processInputs()
response = request.response
@@ -205,6 +207,8 @@
if result is not response:
response.setBody(result)
+ endInteraction()
+
notify(PubBeforeCommit(request))
return response
More information about the Zope-Checkins
mailing list