From 9d8a3966f4fdb34269d7413242cc3952c8a3c279 Mon Sep 17 00:00:00 2001 From: Anton Martyniuk Date: Sun, 29 Jun 2014 16:43:33 +0200 Subject: [PATCH] provides request object into exception handler --- rest_framework/views.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rest_framework/views.py b/rest_framework/views.py index a2668f2c0..363dda095 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -45,7 +45,7 @@ def get_view_description(view_cls, html=False): return description -def exception_handler(exc): +def exception_handler(exc, request=None): """ Returns the response that should be used for any given exception. @@ -362,7 +362,12 @@ class APIView(View): else: exc.status_code = status.HTTP_403_FORBIDDEN - response = self.settings.EXCEPTION_HANDLER(exc) + # backward compat + handler = self.settings.EXCEPTION_HANDLER + if handler.func_code.co_argcount == 1: + response = handler(exc) + else: + response = handler(exc, self.request) if response is None: raise