initial commit

This commit is contained in:
2026-03-11 17:12:28 +08:00
commit 5d1e1cb7cb
61 changed files with 2971 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
import logging
import threading
logger = logging.getLogger(__name__)
_local = threading.local()
def get_current_user():
return getattr(_local, "user", None)
class CurrentUserMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
_local.user = request.user
return self.get_response(request)

View File

@@ -0,0 +1,23 @@
import logging
logger = logging.getLogger(__name__)
class ExceptionLoggingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
try:
return self.get_response(request)
except Exception:
logger.exception(
"Unhandled exception",
extra={
"request_method": request.method,
"request_url": request.get_full_path(),
"remote_addr": request.META.get("REMOTE_ADDR"),
"user_agent": request.META.get("HTTP_USER_AGENT", ""),
},
)
raise