mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-03 13:14:30 +03:00
Merge pull request #5047 from kirberich/merge-vary-headers
Update existing vary headers in response instead of overwriting them.
This commit is contained in:
commit
d300c3c648
|
@ -9,6 +9,7 @@ from django.db import models
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
from django.http.response import HttpResponseBase
|
from django.http.response import HttpResponseBase
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
|
from django.utils.cache import cc_delim_re, patch_vary_headers
|
||||||
from django.utils.encoding import smart_text
|
from django.utils.encoding import smart_text
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.views.decorators.csrf import csrf_exempt
|
from django.views.decorators.csrf import csrf_exempt
|
||||||
|
@ -414,6 +415,11 @@ class APIView(View):
|
||||||
response.accepted_media_type = request.accepted_media_type
|
response.accepted_media_type = request.accepted_media_type
|
||||||
response.renderer_context = self.get_renderer_context()
|
response.renderer_context = self.get_renderer_context()
|
||||||
|
|
||||||
|
# Add new vary headers to the response instead of overwriting.
|
||||||
|
vary_headers = self.headers.pop('Vary', None)
|
||||||
|
if vary_headers is not None:
|
||||||
|
patch_vary_headers(response, cc_delim_re.split(vary_headers))
|
||||||
|
|
||||||
for key, value in self.headers.items():
|
for key, value in self.headers.items():
|
||||||
response[key] = value
|
response[key] = value
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user