You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.0 KiB
31 lines
1.0 KiB
import http.server
|
|
import socketserver
|
|
import os
|
|
import sys
|
|
|
|
# Ensure the server runs from the same directory as the script
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
PORT = 8000
|
|
|
|
class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
|
|
def end_headers(self):
|
|
# Disable caching for all files to ensure latest assets are loaded
|
|
self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
|
|
self.send_header('Pragma', 'no-cache')
|
|
self.send_header('Expires', '0')
|
|
super().end_headers()
|
|
|
|
Handler = MyHTTPRequestHandler
|
|
|
|
print(f"Starting server on http://127.0.0.1:{PORT}")
|
|
print("Working directory:", os.getcwd())
|
|
print("Cache-busting enabled: Browser will always fetch latest files.")
|
|
|
|
# Explicitly bind to 127.0.0.1 for better reliability in offline/local environments
|
|
with socketserver.TCPServer(("127.0.0.1", PORT), Handler) as httpd:
|
|
try:
|
|
httpd.serve_forever()
|
|
except KeyboardInterrupt:
|
|
print("\nServer stopped.")
|
|
httpd.server_close()
|