37 lines
916 B
Python
37 lines
916 B
Python
|
from functools import wraps
|
||
|
|
||
|
from flask_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
|