Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #2185 -- Changed django.views.decorators.http.require_http_meth…

…ods decorator to use HttpResponseNotAllowed instead of HttpResponseForbidden

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3163 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit a09682fd6376159f81de9d6dc8c86ebd4e0b6513 1 parent 551a027
@adrianholovaty adrianholovaty authored
Showing with 6 additions and 6 deletions.
  1. +6 −6 django/views/decorators/http.py
View
12 django/views/decorators/http.py
@@ -4,26 +4,26 @@
from django.utils.decorators import decorator_from_middleware
from django.middleware.http import ConditionalGetMiddleware
-from django.http import HttpResponseForbidden
+from django.http import HttpResponseNotAllowed
conditional_page = decorator_from_middleware(ConditionalGetMiddleware)
def require_http_methods(request_method_list):
"""
Decorator to make a view only accept particular request methods. Usage::
-
+
@require_http_methods(["GET", "POST"])
def my_view(request):
# I can assume now that only GET or POST requests make it this far
- # ...
-
+ # ...
+
Note that request methods ARE case sensitive.
"""
def decorator(func):
def inner(request, *args, **kwargs):
- method = request.META.get("REQUEST_METHOD", None)
+ method = request.META.get("REQUEST_METHOD", None)
if method not in request_method_list:
- raise HttpResponseForbidden("REQUEST_METHOD '%s' not allowed" % method)
+ return HttpResponseNotAllowed(request_method_list)
return func(request, *args, **kwargs)
return inner
return decorator

0 comments on commit a09682f

Please sign in to comment.
Something went wrong with that request. Please try again.