Files
Stefan Pratter 5eb925e319 Support 202301 (#1329)
* fix next redirect when using U2F 2FA auth (#1191)

* Added self identifier to API

* fix migrations hierarchy after merging in previous support branch

* campus object

Co-authored-by: Stefan Pratter <stefan@20c.com>

* fix out of bound error message
add city / country to campus view

* fix tests

* relock poetry

* linting

* linting

* fix docs regen

* regen docs

* linting

* refactor self entity view to support carrier and campus object types and also make it easier to support additional object types in the future

* remove debug message

---------

Co-authored-by: Gajanan Patil <dipaksavaliya.python@gmail.com>
2023-02-15 07:55:01 +00:00

33 lines
689 B
Python

"""
Define custom context managers.
"""
import contextvars
from contextlib import contextmanager
# stores current request in a thread safe context aware
# manner.
_current_request = contextvars.ContextVar("current_request")
@contextmanager
def current_request(request=None):
"""
Will yield the current request, if there is one.
To se the current request for the context pass it to
the request parameter.
"""
if request:
token = _current_request.set(request)
else:
token = None
try:
yield _current_request.get()
except LookupError:
yield None
finally:
if token:
_current_request.reset(token)