FossilRepo

fossilrepo / core / middleware / current_user.py
Source Blame History 19 lines
4ce269c… ragelink 1 import threading
4ce269c… ragelink 2
4ce269c… ragelink 3 _thread_local = threading.local()
4ce269c… ragelink 4
4ce269c… ragelink 5
4ce269c… ragelink 6 def get_current_user():
4ce269c… ragelink 7 return getattr(_thread_local, "user", None)
4ce269c… ragelink 8
4ce269c… ragelink 9
4ce269c… ragelink 10 class CurrentUserMiddleware:
4ce269c… ragelink 11 """Store the current user on thread-local storage for use in signals and model save methods."""
4ce269c… ragelink 12
4ce269c… ragelink 13 def __init__(self, get_response):
4ce269c… ragelink 14 self.get_response = get_response
4ce269c… ragelink 15
4ce269c… ragelink 16 def __call__(self, request):
4ce269c… ragelink 17 _thread_local.user = getattr(request, "user", None)
4ce269c… ragelink 18 response = self.get_response(request)
4ce269c… ragelink 19 return response

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button