def expiredate(seconds, value): '''Expire date headers for cache control. @param seconds Seconds @param value Value for Cache-Control header ''' now = time.time() return {'Cache-Control': value % seconds, 'Date': email.formatdate(now), 'Expires': email.formatdate(now + seconds)}
def expires(seconds): '''Sets the time a response expires from the cache (HTTP 1.0).''' headers = {'Expires': email.formatdate(time.time() + seconds)} def decorator(application): return CacheHeader(application, headers) return decorator
def modified(seconds=None): '''Sets the time a response was modified.''' headers = {'Modified': email.formatdate(seconds)} def decorator(application): return CacheHeader(application, headers) return decorator
def expire(application, value): '''Generic setter for 'Cache-Control' headers + expiration info. @param application WSGI application @param value 'Cache-Control' value ''' now = email.formatdate() headers = {'Cache-Control': value, 'Date': now, 'Expires': now} return CacheHeader(application, headers)
def nocache(application): '''Response that a cache can't send without origin server revalidation.''' now = email.formatdate() headers = {'Cache-Control': 'no-cache', 'Pragma': 'no-cache', 'Date': now, 'Expires': now} return CacheHeader(application, headers)