35 lines
919 B
Python
35 lines
919 B
Python
from functools import wraps
|
|
from flask.ext.restful.utils import unpack
|
|
|
|
|
|
def cache_control(max_age=55):
|
|
def wrap(f):
|
|
@wraps(f)
|
|
def add_max_age(*args, **kwargs):
|
|
response = f(*args, **kwargs)
|
|
response.headers['Cache-Control'] = 'max-age=%d' % max_age
|
|
return response
|
|
return add_max_age
|
|
return wrap
|
|
|
|
|
|
def cache_control_flask_restful(max_age=55):
|
|
def wrap(f):
|
|
@wraps(f)
|
|
def add_max_age(*args, **kwargs):
|
|
response = f(*args, **kwargs)
|
|
body, status_code, headers = unpack(response)
|
|
headers['Cache-Control'] = 'max-age=%d' % max_age
|
|
return body, status_code, headers
|
|
return add_max_age
|
|
return wrap
|
|
|
|
|
|
def no_cache(f):
|
|
@wraps(f)
|
|
def add_no_cache(*args, **kwargs):
|
|
response = f(*args, **kwargs)
|
|
if response is not None:
|
|
response.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate'
|
|
return response
|
|
return add_no_cache
|