Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EXCEPTION_HANDLER on View.settings not respected #5054

Closed
6 tasks done
sigmavirus24 opened this issue Apr 6, 2017 · 0 comments
Closed
6 tasks done

EXCEPTION_HANDLER on View.settings not respected #5054

sigmavirus24 opened this issue Apr 6, 2017 · 0 comments
Labels
Milestone

Comments

@sigmavirus24
Copy link
Contributor

@sigmavirus24 sigmavirus24 commented Apr 6, 2017

Checklist

  • I have verified that that issue exists against the master branch of Django REST framework.
  • I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
  • This is not a usage question. (Those should be directed to the discussion group instead.)
  • This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
  • I have reduced the issue to the simplest possible case.
  • I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)

Steps to reproduce

  1. Create a View with a custom ApiSettings with EXCEPTION_HANDLER specified
  2. Trigger an exception and notice that the custom exception handler isn't triggered because the APIView class only ever uses rest_framework.settings.api_settings.

Expected behavior

  1. View uses self.settings since views can override settings objects so easily.

Actual behavior

  1. Uses default handler instead

Extras

The 3.4 series used self.settings.EXCEPTION_HANDLER but 3.5 moved to use get_exception_handler which started using rest_framework.settings.api_settings.

sigmavirus24 added a commit to sigmavirus24/django-rest-framework that referenced this issue Apr 6, 2017
Instead of using the api_settings exception handler, we use the
overridden settings attribute to find the correct handler.

Closes encode#5054
sigmavirus24 added a commit to sigmavirus24/django-rest-framework that referenced this issue Apr 6, 2017
Instead of using the api_settings exception handler, we use the
overridden settings attribute to find the correct handler.

Closes encode#5054
sigmavirus24 added a commit to sigmavirus24/django-rest-framework that referenced this issue Apr 6, 2017
Instead of using the api_settings exception handler, we use the
overridden settings attribute to find the correct handler.

Closes encode#5054
sigmavirus24 added a commit to sigmavirus24/django-rest-framework that referenced this issue Apr 6, 2017
Instead of using the api_settings exception handler, we use the
overridden settings attribute to find the correct handler.

Closes encode#5054
@tomchristie tomchristie added the Bug label Apr 7, 2017
@tomchristie tomchristie added this to the 3.6.3 Release milestone Apr 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants