diff options
| author | Tom Christie | 2014-01-17 08:19:06 -0800 | 
|---|---|---|
| committer | Tom Christie | 2014-01-17 08:19:06 -0800 | 
| commit | 47f5bd488d18d4b583605fd55367f04b54306b11 (patch) | |
| tree | 2d233505821adc8e740a86b60f1681e9abac17b6 | |
| parent | 92fe7560bd69bd2acfe7a3ee2034ecd70e13b0f9 (diff) | |
| parent | 58d77c11c36623d2fd647a96e6871cbb93e17907 (diff) | |
| download | django-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.py | 7 | ||||
| -rw-r--r-- | rest_framework/tests/test_request.py | 3 | 
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): | 
