summary refs log tree commit diff stats
path: root/server.py
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-04-25 18:04:50 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-04-25 21:52:39 +0200
commit90ed0ef042faaa0d301f6c339bfea926fbedc754 (patch)
tree2f893530ef9ca5664748e361c52b0bdf68c2fe2a /server.py
parentfeat(treewide): Migrate to zola (diff)
downloadb-peetz.de-90ed0ef042faaa0d301f6c339bfea926fbedc754.zip
build(server.py): Add a small script to test the final website
Diffstat (limited to 'server.py')
-rwxr-xr-xserver.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/server.py b/server.py
new file mode 100755
index 0000000..9e81820
--- /dev/null
+++ b/server.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import http.server
+import os
+
+
+class NoCacheHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
+    def end_headers(self):
+        self.send_header('Cache-Control', 'no-cache, no-store, must-revalidate')  # HTTP 1.1
+        self.send_header('Pragma', 'no-cache')  # HTTP 1.0
+        self.send_header('Expires', '0')  # Proxies
+        super().end_headers()
+
+
+def run(server_class=http.server.HTTPServer, port=8080, directory="./result"):
+    # Set the directory for the handler
+    handler_class = NoCacheHTTPRequestHandler
+    handler_class.directory = os.path.abspath(directory)
+
+    # Change the current working directory to the specified directory
+    os.chdir(os.path.abspath(directory))
+
+    # Create the server on 127.0.0.1
+    with server_class(("127.0.0.1", port), handler_class) as httpd:
+        print(
+            f"Serving on http://127.0.0.1:{port} from directory '{handler_class.directory}'"
+        )
+        httpd.serve_forever()
+
+
+if __name__ == "__main__":
+    run(port=8080, directory="./result")