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__.pyo.40009 | File | 596 B | 0644 |
|
._cmd.pyo.40009 | File | 2.07 KB | 0644 |
|
.adapter.pyo.40009 | File | 3.73 KB | 0644 |
|
.cache.pyo.40009 | File | 2.49 KB | 0644 |
|
.compat.pyo.40009 | File | 815 B | 0644 |
|
.controller.pyo.40009 | File | 9.6 KB | 0644 |
|
.filewrapper.pyo.40009 | File | 2.71 KB | 0644 |
|
.heuristics.pyo.40009 | File | 5.99 KB | 0644 |
|
.serialize.pyo.40009 | File | 5.75 KB | 0644 |
|
.wrapper.pyo.40009 | File | 855 B | 0644 |
|
__init__.py | File | 302 B | 0644 |
|
__init__.pyc | File | 596 B | 0644 |
|
__init__.pyo | File | 596 B | 0644 |
|
_cmd.py | File | 1.26 KB | 0644 |
|
_cmd.pyc | File | 2.07 KB | 0644 |
|
_cmd.pyo | File | 2.07 KB | 0644 |
|
adapter.py | File | 4.77 KB | 0644 |
|
adapter.pyc | File | 3.73 KB | 0644 |
|
adapter.pyo | File | 3.73 KB | 0644 |
|
cache.py | File | 805 B | 0644 |
|
cache.pyc | File | 2.49 KB | 0644 |
|
cache.pyo | File | 2.49 KB | 0644 |
|
compat.py | File | 695 B | 0644 |
|
compat.pyc | File | 815 B | 0644 |
|
compat.pyo | File | 815 B | 0644 |
|
controller.py | File | 13.82 KB | 0644 |
|
controller.pyc | File | 9.6 KB | 0644 |
|
controller.pyo | File | 9.6 KB | 0644 |
|
filewrapper.py | File | 2.47 KB | 0644 |
|
filewrapper.pyc | File | 2.71 KB | 0644 |
|
filewrapper.pyo | File | 2.71 KB | 0644 |
|
heuristics.py | File | 3.97 KB | 0644 |
|
heuristics.pyc | File | 5.99 KB | 0644 |
|
heuristics.pyo | File | 5.99 KB | 0644 |
|
serialize.py | File | 6.92 KB | 0644 |
|
serialize.pyc | File | 5.75 KB | 0644 |
|
serialize.pyo | File | 5.75 KB | 0644 |
|
wrapper.py | File | 690 B | 0644 |
|
wrapper.pyc | File | 855 B | 0644 |
|
wrapper.pyo | File | 855 B | 0644 |
|