summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2013-10-28 17:11:53 -0400
committerChris McDonough <chrism@plope.com>2013-10-28 17:11:53 -0400
commit15d4efeb012998e7675657ea3d781562957a4f71 (patch)
tree02417f5025ca72eb3a33dc75a035554dd91193ea
parent072a2cd56877ce46f9db2fb6f576ef62ecefff15 (diff)
downloadpyramid-15d4efeb012998e7675657ea3d781562957a4f71.tar.gz
pyramid-15d4efeb012998e7675657ea3d781562957a4f71.tar.bz2
pyramid-15d4efeb012998e7675657ea3d781562957a4f71.zip
defer looking up headers until the response callback is called (FBO things like sessionauthenticationpolicy which does its own header-setting when its remember/forget methods are called)
-rw-r--r--pyramid/security.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/pyramid/security.py b/pyramid/security.py
index 1b52c9cb5..afca8cd9a 100644
--- a/pyramid/security.py
+++ b/pyramid/security.py
@@ -408,12 +408,12 @@ class AuthenticationAPIMixin(object):
.. versionadded:: 1.5
"""
- headers = self._remember_userid(principal, **kw)
def callback(req, response):
# do not set the headers on an exception unless explicitly
# instructed
exc = getattr(req, 'exception', None)
if exc is None or on_exception:
+ headers = self._remember_userid(principal, **kw)
response.headerlist.extend(headers)
self.add_response_callback(callback)
@@ -449,10 +449,10 @@ class AuthenticationAPIMixin(object):
.. versionadded:: 1.5
"""
- headers = self._forget_userid()
def callback(req, response):
exc = getattr(req, 'exception', None)
if exc is None or on_exception:
+ headers = self._forget_userid()
response.headerlist.extend(headers)
self.add_response_callback(callback)