From 9079f1e47cf288c6a9943e656733db7fad27a2e2 Mon Sep 17 00:00:00 2001 From: Joshua Laymon Date: Sun, 31 Aug 2025 13:01:45 +0000 Subject: [PATCH] Add web/core/middleware.py --- web/core/middleware.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 web/core/middleware.py diff --git a/web/core/middleware.py b/web/core/middleware.py new file mode 100644 index 0000000..6f0b4cc --- /dev/null +++ b/web/core/middleware.py @@ -0,0 +1,20 @@ +import threading +from django.utils.deprecation import MiddlewareMixin + +_local = threading.local() + +def get_current_username(): + u = getattr(_local, "user", None) + if not u or not getattr(u, "is_authenticated", False): + return "" + return getattr(u, "username", "") or "" + +class CurrentUserMiddleware(MiddlewareMixin): + def process_request(self, request): + _local.user = getattr(request, "user", None) + def process_response(self, request, response): + _local.user = None + return response + def process_exception(self, request, exception): + _local.user = None + return None \ No newline at end of file