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 = cache or DictCache()
|
|
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
|