Coverage for /Users/davegaeddert/Development/dropseed/plain/plain-auth/plain/auth/middleware.py: 94%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:04 -0500
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:04 -0500
1from plain import auth
2from plain.exceptions import ImproperlyConfigured
3from plain.utils.functional import SimpleLazyObject
6def get_user(request):
7 if not hasattr(request, "_cached_user"):
8 request._cached_user = auth.get_user(request)
9 return request._cached_user
12class AuthenticationMiddleware:
13 def __init__(self, get_response):
14 self.get_response = get_response
16 def __call__(self, request):
17 if not hasattr(request, "session"):
18 raise ImproperlyConfigured(
19 "The Plain authentication middleware requires session "
20 "middleware to be installed. Edit your MIDDLEWARE setting to "
21 "insert "
22 "'plain.sessions.middleware.SessionMiddleware' before "
23 "'plain.auth.middleware.AuthenticationMiddleware'."
24 )
25 request.user = SimpleLazyObject(lambda: get_user(request))
26 response = self.get_response(request)
27 return response