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 | 2755 |
|
|
caches | Folder | 2755 |
|
|
__init__.py | File | 302 B | 0644 |
|
_cmd.py | File | 1.26 KB | 0644 |
|
adapter.py | File | 4.77 KB | 0644 |
|
cache.py | File | 805 B | 0644 |
|
compat.py | File | 695 B | 0644 |
|
controller.py | File | 13.82 KB | 0644 |
|
filewrapper.py | File | 2.47 KB | 0644 |
|
heuristics.py | File | 3.97 KB | 0644 |
|
serialize.py | File | 6.92 KB | 0644 |
|
wrapper.py | File | 690 B | 0644 |
|