aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/request.py
diff options
context:
space:
mode:
authorDave Kuhn2013-03-04 07:14:38 +1100
committerDave Kuhn2013-03-04 07:14:38 +1100
commit104614c600a391b2d416074f3929e543b86a8492 (patch)
tree11a5f7489204a77f436b23c663b28cc47a531b27 /rest_framework/request.py
parent9dccbcbb3800f83149edf08330f6926659bc5d73 (diff)
downloaddjango-rest-framework-104614c600a391b2d416074f3929e543b86a8492.tar.bz2
Modified to allow form overloading to take precedence over header.
Diffstat (limited to 'rest_framework/request.py')
-rw-r--r--rest_framework/request.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/rest_framework/request.py b/rest_framework/request.py
index 4cdc8b73..f26d934d 100644
--- a/rest_framework/request.py
+++ b/rest_framework/request.py
@@ -232,15 +232,12 @@ class Request(object):
self._content_type = self.META.get('HTTP_CONTENT_TYPE',
self.META.get('CONTENT_TYPE', ''))
- # Look for method override in header
- self._method = self.META.get('HTTP_X_HTTP_METHOD_OVERRIDE', None)
- if self._method:
- return
-
self._perform_form_overloading()
- # if the HTTP method was not overloaded, we take the raw HTTP method
- if self._method:
- self._method = self._request.method
+ if not _hasattr(self, '_method'):
+ # Method wasn't overloaded by hidden form element, so look for
+ # method override in header. If not present default to raw HTTP method
+ self._method = self.META.get('HTTP_X_HTTP_METHOD_OVERRIDE',
+ self._request.method)
def _load_stream(self):
"""