Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #5047: patch_cache_control now respects existing max-age settin…

…gs. Thanks, permon.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6434 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 2dd882885b8d72941a706048c59fec3f84d7377f 1 parent 632a424
@jacobian jacobian authored
Showing with 8 additions and 0 deletions.
  1. +1 −0  AUTHORS
  2. +7 −0 django/utils/cache.py
View
1  AUTHORS
@@ -234,6 +234,7 @@ answer newbie questions, and generally made Django that much better:
Jay Parlar <parlar@gmail.com>
pavithran s <pavithran.s@gmail.com>
Barry Pederson <bp@barryp.org>
+ permonik@mesias.brnonet.cz
petr.marhoun@gmail.com
pgross@thoughtworks.com
phaedo <http://phaedo.cx/>
View
7 django/utils/cache.py
@@ -57,6 +57,13 @@ def dictvalue(t):
cc = dict([dictitem(el) for el in cc])
else:
cc = {}
+
+ # If there's already a max-age header but we're being asked to set a new
+ # max-age, use the minumum of the two ages. In practice this happens when
+ # a decorator and a piece of middleware both operate on a given view.
+ if 'max-age' in cc and 'max_age' in kwargs:
+ kwargs['max_age'] = min(cc['max-age'], kwargs['max_age'])
+
for (k,v) in kwargs.items():
cc[k.replace('_', '-')] = v
cc = ', '.join([dictvalue(el) for el in cc.items()])
Please sign in to comment.
Something went wrong with that request. Please try again.