#!/usr/bin/env python3 """Serve a built documentation tree without browser caching.""" import argparse from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer, test class NoCacheHandler(SimpleHTTPRequestHandler): """Ignore validators and prevent responses from being cached.""" def send_head(self): if "If-Modified-Since" in self.headers: del self.headers["If-Modified-Since"] return super().send_head() def end_headers(self): self.send_header("Cache-Control", "no-store") self.send_header("Pragma", "no-cache") self.send_header("Expires", "0") super().end_headers() if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("port", nargs="?", type=int, default=1414) args = parser.parse_args() test(HandlerClass=NoCacheHandler, ServerClass=ThreadingHTTPServer, port=args.port)