diff options
| author | José Padilla | 2014-09-23 21:12:58 -0400 | 
|---|---|---|
| committer | José Padilla | 2014-09-23 21:12:58 -0400 | 
| commit | e8c01ecdabe2abda48dd0cf298d4b6c743574449 (patch) | |
| tree | 5944fd8f436a9a710109a0a3518c05df5d035aa9 /rest_framework/generics.py | |
| parent | 8495cd898a5d34f00858a379b54e39cd19ded215 (diff) | |
| download | django-rest-framework-e8c01ecdabe2abda48dd0cf298d4b6c743574449.tar.bz2 | |
Correctly propagate cloned_request for OPTIONS
Update to fix pending changes in #1507
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/rest_framework/generics.py b/rest_framework/generics.py index a6f68657..a62da00b 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -398,10 +398,11 @@ class GenericAPIView(views.APIView):              if method not in self.allowed_methods:                  continue -            cloned_request = clone_request(request, method) +            original_request = self.request +            self.request = clone_request(request, method)              try:                  # Test global permissions -                self.check_permissions(cloned_request) +                self.check_permissions(self.request)                  # Test object permissions                  if method == 'PUT':                      try: @@ -419,6 +420,8 @@ class GenericAPIView(views.APIView):                  # appropriate metadata about the fields that should be supplied.                  serializer = self.get_serializer()                  actions[method] = serializer.metadata() +            finally: +                self.request = original_request          if actions:              ret['actions'] = actions | 
