PATH:
opt
/
bitninja-python-dojo
/
embedded
/
lib
/
python3.9
/
site-packages
/
pip
/
_vendor
/
cachecontrol
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()
[-] cache.py
[edit]
[-] controller.py
[edit]
[+]
caches
[+]
..
[-] _cmd.py
[edit]
[-] adapter.py
[edit]
[-] serialize.py
[edit]
[+]
__pycache__
[-] filewrapper.py
[edit]
[-] compat.py
[edit]
[-] __init__.py
[edit]
[-] heuristics.py
[edit]
[-] wrapper.py
[edit]