28 lines
907 B
Python
28 lines
907 B
Python
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
import os
|
|
|
|
DATA_FILE = os.environ.get("DATA_FILE", "/data/example.json")
|
|
|
|
|
|
class Handler(BaseHTTPRequestHandler):
|
|
def do_GET(self):
|
|
try:
|
|
with open(DATA_FILE, "rb") as f:
|
|
body = f.read()
|
|
self.send_response(200)
|
|
self.send_header("Content-Type", "application/json")
|
|
self.send_header("Content-Length", str(len(body)))
|
|
self.end_headers()
|
|
self.wfile.write(body)
|
|
except FileNotFoundError:
|
|
self.send_error(404, "Data file not found")
|
|
|
|
def log_message(self, format, *args):
|
|
print(f"{self.address_string()} - {format % args}", flush=True)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
port = int(os.environ.get("PORT", 8080))
|
|
print(f"Serving {DATA_FILE} on port {port}", flush=True)
|
|
HTTPServer(("", port), Handler).serve_forever()
|