aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorJosé Padilla2014-12-14 15:03:20 -0400
committerJosé Padilla2014-12-14 15:03:20 -0400
commitfd003fcefaee964e744ded0aec1ae76715889378 (patch)
tree0a4b96fe10424ae112a9a0c74e081bfc808a31db /rest_framework
parent478c8d724b846b370c897548f8ee89f1128e12c9 (diff)
downloaddjango-rest-framework-fd003fcefaee964e744ded0aec1ae76715889378.tar.bz2
Add pending deprecation warning message
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/views.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/rest_framework/views.py b/rest_framework/views.py
index 3ece66e6..37889d1b 100644
--- a/rest_framework/views.py
+++ b/rest_framework/views.py
@@ -3,6 +3,7 @@ Provides an APIView class that is the base of all views in REST framework.
"""
from __future__ import unicode_literals
import inspect
+import warnings
from django.core.exceptions import PermissionDenied
from django.http import Http404
@@ -370,13 +371,16 @@ class APIView(View):
else:
exc.status_code = status.HTTP_403_FORBIDDEN
- exception_handler = self.settings.EXCEPTION_HANDLER
-
- if 'context' in inspect.getargspec(exception_handler).args:
- context = self.get_renderer_context()
- response = exception_handler(exc, context)
+ if len(inspect.getargspec(self.settings.EXCEPTION_HANDLER).args) == 1:
+ warnings.warn(
+ 'The `exception_handler(exc)` call signature is deprecated. '
+ 'Use `exception_handler(exc, context) instead.',
+ PendingDeprecationWarning
+ )
+ response = self.settings.EXCEPTION_HANDLER(exc)
else:
- response = exception_handler(exc)
+ context = self.get_renderer_context()
+ response = self.settings.EXCEPTION_HANDLER(exc, context)
if response is None:
raise