# SPDX-FileCopyrightText: 2015 Eric Larson | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
from .adapter import CacheControlAdapter | |
from .cache import DictCache | |
def CacheControl( | |
sess, | |
cache=None, | |
cache_etags=True, | |
serializer=None, | |
heuristic=None, | |
controller_class=None, | |
adapter_class=None, | |
cacheable_methods=None, | |
): | |
cache = DictCache() if cache is None else cache | |
adapter_class = adapter_class or CacheControlAdapter | |
adapter = adapter_class( | |
cache, | |
cache_etags=cache_etags, | |
serializer=serializer, | |
heuristic=heuristic, | |
controller_class=controller_class, | |
cacheable_methods=cacheable_methods, | |
) | |
sess.mount("http://", adapter) | |
sess.mount("https://", adapter) | |
return sess | |