aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2014-01-17 08:19:06 -0800
committerTom Christie2014-01-17 08:19:06 -0800
commit47f5bd488d18d4b583605fd55367f04b54306b11 (patch)
tree2d233505821adc8e740a86b60f1681e9abac17b6
parent92fe7560bd69bd2acfe7a3ee2034ecd70e13b0f9 (diff)
parent58d77c11c36623d2fd647a96e6871cbb93e17907 (diff)
downloaddjango-rest-framework-47f5bd488d18d4b583605fd55367f04b54306b11.tar.bz2
Merge pull request #1361 from ross/x_method_override
always obey X-HTTP-METHOD-OVERRIDE header
-rw-r--r--rest_framework/request.py7
-rw-r--r--rest_framework/tests/test_request.py3
2 files changed, 6 insertions, 4 deletions
diff --git a/rest_framework/request.py b/rest_framework/request.py
index d1f04ec5..ca70b49e 100644
--- a/rest_framework/request.py
+++ b/rest_framework/request.py
@@ -279,10 +279,9 @@ class Request(object):
if not _hasattr(self, '_method'):
self._method = self._request.method
- if self._method == 'POST':
- # Allow X-HTTP-METHOD-OVERRIDE header
- self._method = self.META.get('HTTP_X_HTTP_METHOD_OVERRIDE',
- self._method)
+ # Allow X-HTTP-METHOD-OVERRIDE header
+ self._method = self.META.get('HTTP_X_HTTP_METHOD_OVERRIDE',
+ self._method)
def _load_stream(self):
"""
diff --git a/rest_framework/tests/test_request.py b/rest_framework/tests/test_request.py
index a60e7615..c0b50f33 100644
--- a/rest_framework/tests/test_request.py
+++ b/rest_framework/tests/test_request.py
@@ -68,6 +68,9 @@ class TestMethodOverloading(TestCase):
request = Request(factory.post('/', {'foo': 'bar'}, HTTP_X_HTTP_METHOD_OVERRIDE='DELETE'))
self.assertEqual(request.method, 'DELETE')
+ request = Request(factory.get('/', {'foo': 'bar'}, HTTP_X_HTTP_METHOD_OVERRIDE='DELETE'))
+ self.assertEqual(request.method, 'DELETE')
+
class TestContentParsing(TestCase):
def test_standard_behaviour_determines_no_content_GET(self):