1
0
mirror of https://github.com/django/django.git synced 2025-10-26 15:16:09 +00:00

Removed vary_delim_re in django/utils/cache.py in favor of existing cc_delim_re since the latter is more correct in parsing the header (allows whitespace before and after comma separators instead of just after). As a bonus, tests added for patch_vary_headers().

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6696 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Gary Wilson Jr
2007-11-19 03:12:19 +00:00
parent 7d8ac66026
commit 34cc21983c
2 changed files with 31 additions and 5 deletions

View File

@@ -70,8 +70,6 @@ def patch_cache_control(response, **kwargs):
cc = ', '.join([dictvalue(el) for el in cc.items()])
response['Cache-Control'] = cc
vary_delim_re = re.compile(r',\s*')
def patch_response_headers(response, cache_timeout=None):
"""
Adds some useful headers to the given HttpResponse object:
@@ -111,7 +109,7 @@ def patch_vary_headers(response, newheaders):
# computing an MD5 hash.
vary = []
if response.has_header('Vary'):
vary = vary_delim_re.split(response['Vary'])
vary = cc_delim_re.split(response['Vary'])
oldheaders = dict([(el.lower(), 1) for el in vary])
for newheader in newheaders:
if not newheader.lower() in oldheaders:
@@ -169,7 +167,7 @@ def learn_cache_key(request, response, cache_timeout=None, key_prefix=None):
key_prefix, iri_to_uri(request.path))
if response.has_header('Vary'):
headerlist = ['HTTP_'+header.upper().replace('-', '_')
for header in vary_delim_re.split(response['Vary'])]
for header in cc_delim_re.split(response['Vary'])]
cache.set(cache_key, headerlist, cache_timeout)
return _generate_cache_key(request, headerlist, key_prefix)
else: