mirror of
https://github.com/gmfricke/cmmc_audit.git
synced 2026-06-29 04:03:03 -06:00
26 lines
560 B
Python
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
|