Fixed #30701 -- Updated patch_vary_headers() to handle an asterisk according to RFC 7231.

This commit is contained in:
Adnan Umer 2019-08-14 01:40:09 +05:00 committed by Mariusz Felisiak
parent 7da6a28a44
commit 6805c0f99f
4 changed files with 23 additions and 5 deletions

View file

@ -73,8 +73,14 @@ need to distinguish caches by the ``Accept-language`` header.
.. function:: patch_vary_headers(response, newheaders)
Adds (or updates) the ``Vary`` header in the given ``HttpResponse`` object.
``newheaders`` is a list of header names that should be in ``Vary``.
Existing headers in ``Vary`` aren't removed.
``newheaders`` is a list of header names that should be in ``Vary``. If
headers contains an asterisk, then ``Vary`` header will consist of a single
asterisk ``'*'``. Otherwise, existing headers in ``Vary`` aren't removed.
.. versionchanged:: 3.0
Handling an asterisk ``'*'`` according to :rfc:`7231#section-7.1.4` was
added.
.. function:: get_cache_key(request, key_prefix=None)

View file

@ -514,6 +514,11 @@ Miscellaneous
:class:`~django.db.models.OneToOneField` ``'_id'`` attribute now unsets the
corresponding field. Accessing the field afterwards will result in a query.
* :func:`~django.utils.cache.patch_vary_headers` now handles an asterisk
``'*'`` according to :rfc:`7231#section-7.1.4`, i.e. if a list of header
field names contains an asterisk, then the ``Vary`` header will consist of a
single asterisk ``'*'``.
.. _deprecated-features-3.0:
Features deprecated in 3.0