• 
      

    Add a class-based view mixin for checking if HTTP methods are allowed.

    Review Request #9127 — Created Aug. 7, 2017 and submitted

    Information

    Djblets
    release-0.10.x
    03e4c4d...

    Reviewers

    Django's base View class for class-based views performs a check before
    dispatching to make sure that the HTTP method in question is allowed,
    returning a HTTP 405 if not. While useful, this is too late for more
    complex views that are performing other (potentially method-specific)
    logic before reaching View.dispatch.

    This change introduces CheckRequestMethodViewMixin, which can be
    placed at the beginning of the inheritance list to handle the checking
    early. It will perform the same checks that View.dispatch performs,
    but can be done before any other mixin dispatch methods are invoked.

    Unit tests pass.

    Made use of this in another change and verified the dispatch handlers
    never got called for unsupported HTTP methods.

    Description From Last Updated

    F401 'django.http.HttpResponseForbidden' imported but unused

    reviewbotreviewbot

    F811 redefinition of unused 'test_dispatch' from line 23

    reviewbotreviewbot

    F841 local variable 'seen' is assigned to but never used

    reviewbotreviewbot
    Checks run (1 failed, 1 succeeded)
    flake8 failed.
    JSHint passed.

    flake8

    chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.10.x (a25e8de)