parent
5978a0f55f
commit
6637e20174
2 changed files with 15 additions and 8 deletions
4
CHANGES
4
CHANGES
|
|
@ -67,6 +67,9 @@ Major release, unreleased
|
||||||
of the generic bad request message. (`#2348`_)
|
of the generic bad request message. (`#2348`_)
|
||||||
- Allow registering new tags with ``TaggedJSONSerializer`` to support
|
- Allow registering new tags with ``TaggedJSONSerializer`` to support
|
||||||
storing other types in the session cookie. (`#2352`_)
|
storing other types in the session cookie. (`#2352`_)
|
||||||
|
- Only open the session if the request has not been pushed onto the context
|
||||||
|
stack yet. This allows ``stream_with_context`` generators to access the same
|
||||||
|
session that the containing view uses. (`#2354`_)
|
||||||
|
|
||||||
.. _#1489: https://github.com/pallets/flask/pull/1489
|
.. _#1489: https://github.com/pallets/flask/pull/1489
|
||||||
.. _#1621: https://github.com/pallets/flask/pull/1621
|
.. _#1621: https://github.com/pallets/flask/pull/1621
|
||||||
|
|
@ -87,6 +90,7 @@ Major release, unreleased
|
||||||
.. _#2326: https://github.com/pallets/flask/pull/2326
|
.. _#2326: https://github.com/pallets/flask/pull/2326
|
||||||
.. _#2348: https://github.com/pallets/flask/pull/2348
|
.. _#2348: https://github.com/pallets/flask/pull/2348
|
||||||
.. _#2352: https://github.com/pallets/flask/pull/2352
|
.. _#2352: https://github.com/pallets/flask/pull/2352
|
||||||
|
.. _#2354: https://github.com/pallets/flask/pull/2354
|
||||||
|
|
||||||
Version 0.12.2
|
Version 0.12.2
|
||||||
--------------
|
--------------
|
||||||
|
|
|
||||||
19
flask/ctx.py
19
flask/ctx.py
|
|
@ -325,15 +325,18 @@ class RequestContext(object):
|
||||||
|
|
||||||
_request_ctx_stack.push(self)
|
_request_ctx_stack.push(self)
|
||||||
|
|
||||||
# Open the session at the moment that the request context is
|
# Open the session at the moment that the request context is available.
|
||||||
# available. This allows a custom open_session method to use the
|
# This allows a custom open_session method to use the request context.
|
||||||
# request context (e.g. code that access database information
|
# Only open a new session if this is the first time the request was
|
||||||
# stored on `g` instead of the appcontext).
|
# pushed, otherwise stream_with_context loses the session.
|
||||||
session_interface = self.app.session_interface
|
|
||||||
self.session = session_interface.open_session(self.app, self.request)
|
|
||||||
|
|
||||||
if self.session is None:
|
if self.session is None:
|
||||||
self.session = session_interface.make_null_session(self.app)
|
session_interface = self.app.session_interface
|
||||||
|
self.session = session_interface.open_session(
|
||||||
|
self.app, self.request
|
||||||
|
)
|
||||||
|
|
||||||
|
if self.session is None:
|
||||||
|
self.session = session_interface.make_null_session(self.app)
|
||||||
|
|
||||||
def pop(self, exc=_sentinel):
|
def pop(self, exc=_sentinel):
|
||||||
"""Pops the request context and unbinds it by doing that. This will
|
"""Pops the request context and unbinds it by doing that. This will
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue