def cache_control(**cache_options):
    def decorator(f):
        @functools.wraps(f)
        def wrapper(*args, **kwargs):
            response = make_response(f(*args, **kwargs))

            cache_control = []
            for key, value in cache_options.iteritems():
                key = key.replace('_', '-')
                if isinstance(value, bool):
                    cache_control.append(key)
                elif isinstance(value, basestring):
                    cache_control.append('%s="%s"' % (key, value))
                else:
                    cache_control.append('%s=%s' % (key, value))
            cache_control = ', '.join(cache_control)

            response.headers['Cache-Control'] = cache_control
            return response
        return wrapper
    return decorator
Return a text representation, suitable for displaying to the
dataset/ETHPy150Open uber/clay/clay/http.py/cache_control--crossover with--dataset/ETHPy150Open kayhayen/Nuitka/nuitka/build/inline_copy/lib/scons-2.3.2/SCons/Node/__init__.py/Node.render_include_tree