diff options
| author | Tom Christie | 2012-10-05 10:33:44 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-05 10:33:44 +0100 |
| commit | ed281be3fb3f49ffee69f08aeb95f116528dc833 (patch) | |
| tree | 4bd7567629bbe3615f61d6dd380d3d3bd8548d2e /rest_framework/views.py | |
| parent | d07dc77e91c1f99b47915b3cef30b565f2618e82 (diff) | |
| download | django-rest-framework-ed281be3fb3f49ffee69f08aeb95f116528dc833.tar.bz2 | |
User .accepted_renderer, .accepted_media_type
Diffstat (limited to 'rest_framework/views.py')
| -rw-r--r-- | rest_framework/views.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/rest_framework/views.py b/rest_framework/views.py index 4dd0d208..0359c225 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -199,20 +199,26 @@ class APIView(View): Runs anything that needs to occur prior to calling the method handlers. """ self.format = self.get_format_suffix(**kwargs) + if not self.has_permission(request): self.permission_denied(request) self.check_throttles(request) - self.renderer, self.accepted_media_type = self.perform_content_negotiation(request) + + # Perform content negotiation and store the accepted info on the request + neg = self.perform_content_negotiation(request) + request.accepted_renderer, request.accepted_media_type = neg def finalize_response(self, request, response, *args, **kwargs): """ Returns the final response object. """ if isinstance(response, Response): - if not getattr(self, 'renderer', None): - self.renderer, self.accepted_media_type = self.perform_content_negotiation(request, force=True) - response.accepted_renderer = self.renderer - response.accepted_media_type = self.accepted_media_type + if not getattr(request, 'accepted_renderer', None): + neg = self.perform_content_negotiation(request, force=True) + request.accepted_renderer, request.accepted_media_type = neg + + response.accepted_renderer = request.accepted_renderer + response.accepted_media_type = request.accepted_media_type for key, value in self.headers.items(): response[key] = value |
