diff options
author | Andrew Godwin | 2022-11-06 13:48:04 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-11-06 13:48:04 -0700 |
commit | dbe57075d386d7474bafc208b654507d9a2d769e (patch) | |
tree | 96b779d17753669f42b7569ec4ec66834b0673f4 /users/middleware.py | |
parent | 8aec395331a1e9ec4ef1ea38aa20b8517131133b (diff) | |
download | takahe-dbe57075d386d7474bafc208b654507d9a2d769e.tar.gz takahe-dbe57075d386d7474bafc208b654507d9a2d769e.tar.bz2 takahe-dbe57075d386d7474bafc208b654507d9a2d769e.zip |
Rework to a domains model for better vhosting
Diffstat (limited to 'users/middleware.py')
-rw-r--r-- | users/middleware.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/users/middleware.py b/users/middleware.py new file mode 100644 index 0000000..aa22178 --- /dev/null +++ b/users/middleware.py @@ -0,0 +1,24 @@ +from users.models import Identity + + +class IdentityMiddleware: + """ + Adds a request.identity object which is either the current session's + identity, or None if they have not picked one yet/it's invalid. + """ + + def __init__(self, get_response): + self.get_response = get_response + + def __call__(self, request): + identity_id = request.session.get("identity_id") + if not identity_id: + request.identity = None + else: + try: + request.identity = Identity.objects.get(id=identity_id) + except Identity.DoesNotExist: + request.identity = None + + response = self.get_response(request) + return response |