Files
RasadDam_Backend/apps/core/middlewares.py

30 lines
837 B
Python

from rest_framework.exceptions import APIException
from django.http import JsonResponse
from rest_framework import status
from django.db import connection
from Rasaddam_Backend import settings
import traceback
import os
class Json500Middleware:
""" return all 500 status errors in json response """
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request, *args, **kwargs):
try:
return self.get_response(request)
except Exception as exc:
if settings.DEBUG:
raise
return JsonResponse({
"message": str(exc),
"status_code": 500,
"error_type": exc.__class__.__name__,
"traceback": traceback.format_exc().splitlines(),
}, status=500)