34 lines
774 B
Python
34 lines
774 B
Python
|
# 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
|