import logging from pip._vendor import requests from pip._vendor.cachecontrol.adapter import CacheControlAdapter from pip._vendor.cachecontrol.cache import DictCache from pip._vendor.cachecontrol.controller import logger from argparse import ArgumentParser def setup_logging(): logger.setLevel(logging.DEBUG) handler = logging.StreamHandler() logger.addHandler(handler) def get_session(): adapter = CacheControlAdapter( DictCache(), cache_etags=True, serializer=None, heuristic=None, ) sess = requests.Session() sess.mount('http://', adapter) sess.mount('https://', adapter) sess.cache_controller = adapter.controller return sess def get_args(): parser = ArgumentParser() parser.add_argument('url', help='The URL to try and cache') return parser.parse_args() def main(args=None): args = get_args() sess = get_session() # Make a request to get a response resp = sess.get(args.url) # Turn on logging setup_logging() # try setting the cache sess.cache_controller.cache_response(resp.request, resp.raw) # Now try to get it if sess.cache_controller.cached_request(resp.request): print('Cached!') else: print('Not cached :(') if __name__ == '__main__': main()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
caches | Folder | 0755 |
|
|
__init__.py | File | 302 B | 0644 |
|
_cmd.py | File | 1.29 KB | 0644 |
|
adapter.py | File | 4.5 KB | 0644 |
|
cache.py | File | 790 B | 0644 |
|
compat.py | File | 380 B | 0644 |
|
controller.py | File | 12.72 KB | 0644 |
|
filewrapper.py | File | 2.47 KB | 0644 |
|
heuristics.py | File | 4.04 KB | 0644 |
|
serialize.py | File | 6.38 KB | 0644 |
|
wrapper.py | File | 498 B | 0644 |
|