MCPcopy Index your code
hub / github.com/encode/django-rest-framework / finalize_response

Method finalize_response

rest_framework/views.py:424–452  ·  view source on GitHub ↗

Returns the final response object.

(self, request, response, *args, **kwargs)

Source from the content-addressed store, hash-verified

422 self.check_throttles(request)
423
424 def finalize_response(self, request, response, *args, **kwargs):
425 """
426 Returns the final response object.
427 """
428 # Make the error obvious if a proper response is not returned
429 assert isinstance(response, HttpResponseBase), (
430 'Expected a `Response`, `HttpResponse` or `StreamingHttpResponse` '
431 'to be returned from the view, but received a `%s`'
432 % type(response)
433 )
434
435 if isinstance(response, Response):
436 if not getattr(request, 'accepted_renderer', None):
437 neg = self.perform_content_negotiation(request, force=True)
438 request.accepted_renderer, request.accepted_media_type = neg
439
440 response.accepted_renderer = request.accepted_renderer
441 response.accepted_media_type = request.accepted_media_type
442 response.renderer_context = self.get_renderer_context()
443
444 # Add new vary headers to the response instead of overwriting.
445 vary_headers = self.headers.pop('Vary', None)
446 if vary_headers is not None:
447 patch_vary_headers(response, cc_delim_re.split(vary_headers))
448
449 for key, value in self.headers.items():
450 response[key] = value
451
452 return response
453
454 def handle_exception(self, exc):
455 """

Callers 1

dispatchMethod · 0.95

Calls 2

get_renderer_contextMethod · 0.95

Tested by

no test coverage detected