cmmc_audit/middleware.py
2026-05-27 14:45:29 -06:00

26 lines
560 B
Python

import threading
_state = threading.local()
def get_current_actor():
return getattr(_state, "actor", None)
def get_current_request():
return getattr(_state, "request", None)
class AuditActorMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
_state.request = request
_state.actor = getattr(request, "user", None)
try:
return self.get_response(request)
finally:
_state.request = None
_state.actor = None