From 7ebec2b114265ca468ada99d32f32091163b22ef Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Mon, 23 Apr 2018 11:44:56 +0300 Subject: [PATCH] LIL-408. Add custom exception handler --- project/exceptions.py | 10 ++++++++++ project/settings.py | 1 + 2 files changed, 11 insertions(+) create mode 100644 project/exceptions.py diff --git a/project/exceptions.py b/project/exceptions.py new file mode 100644 index 00000000..82bdf166 --- /dev/null +++ b/project/exceptions.py @@ -0,0 +1,10 @@ +from rest_framework.views import exception_handler as base_exception_handler + + +def exception_handler(exc, context): + response = base_exception_handler(exc, context) + if response is not None: + response.data['status_code'] = response.status_code + if 'detail' in response.data: + response.data['error'] = response.data['detail'] + return response diff --git a/project/settings.py b/project/settings.py index f1912e15..f885d4a9 100644 --- a/project/settings.py +++ b/project/settings.py @@ -205,6 +205,7 @@ REST_FRAMEWORK = { ), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 10, + 'EXCEPTION_HANDLER': 'project.exceptions.exception_handler', } # Celery settings