[IMP] improvement to cache control

bzr revid: nicolas.vanhoren@openerp.com-20120726142057-7nf7wii9t37b6xo0
This commit is contained in:
niv-openerp 2012-07-26 16:20:57 +02:00
parent 9155ba655d
commit 26aaa7d9a7
2 changed files with 7 additions and 5 deletions

View File

@ -425,8 +425,8 @@ class DisableCacheMiddleware(object):
def start_wrapped(status, headers):
referer = environ.get('HTTP_REFERER', '')
parsed = urlparse.urlparse(referer)
debug = not urlparse.parse_qs(parsed.query).has_key('debug')
filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and k=='Cache-Control'))]
debug = parsed.query.count('debug') >= 1
filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and (k=='Cache-Control' or k=='Expires')))]
if debug:
filtered_headers.append(('Cache-Control', 'no-cache'))
start_response(status, filtered_headers)

View File

@ -194,9 +194,11 @@ class WebClient(openerpweb.Controller):
if mods is not None:
path += '?mods=' + mods
return [path]
# old code to force cache reloading, this really works, sorry niv but we stop wasting time
return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)]
return [el[1] for el in self.manifest_glob(req, mods, extension)]
sugar = req.httprequest.environ["QUERY_STRING"].count("no_sugar") == 0
if sugar:
return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)]
else:
return [el[1] for el in self.manifest_glob(req, mods, extension)]
@openerpweb.jsonrequest
def csslist(self, req, mods=None):