Wrapped all errors in reason with middleware

This commit is contained in:
ITQ
2024-03-03 09:11:10 +03:00
parent 8fa04faa55
commit 13b4e8bafb
2 changed files with 19 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
from django.http import JsonResponse
from rest_framework import status
class ErrorResponseMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
if response.status_code >= status.HTTP_400_BAD_REQUEST:
response.data = {"reason": response.data}
response = JsonResponse(response.data, status=response.status_code)
return response
+5
View File
@@ -38,6 +38,8 @@ MIDDLEWARE = [
"django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware", "django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware",
# Developed middleware
"pulse.middleware.ErrorResponseMiddleware",
] ]
ROOT_URLCONF = "pulse.urls" ROOT_URLCONF = "pulse.urls"
@@ -112,6 +114,9 @@ STATIC_ROOT = BASE_DIR / "static"
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
REST_FRAMEWORK = { REST_FRAMEWORK = {
"DEFAULT_RENDERER_CLASSES": [
"rest_framework.renderers.JSONRenderer",
],
"DEFAULT_FILTER_BACKENDS": [ "DEFAULT_FILTER_BACKENDS": [
"django_filters.rest_framework.DjangoFilterBackend" "django_filters.rest_framework.DjangoFilterBackend"
], ],