initial commit
This commit is contained in:
18
core/middlewares/current_user.py
Normal file
18
core/middlewares/current_user.py
Normal 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)
|
||||
23
core/middlewares/exception_logging.py
Normal file
23
core/middlewares/exception_logging.py
Normal 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
|
||||
Reference in New Issue
Block a user