Files
MarketingTool/infrastructure/docker/api/server.py
T

35 lines
1.2 KiB
Python

"""Small stdlib-only MVP API/container smoke-test service."""
import json
import os
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
class Handler(BaseHTTPRequestHandler):
server_version = "ProspectPlatformMVP/0.1"
def do_GET(self): # noqa: N802
if self.path == "/healthz":
self.respond(200, {"status": "ok", "outreach_enabled": False})
elif self.path == "/":
self.respond(200, {"service": "api", "status": "ok"})
else:
self.respond(404, {"error": "not_found"})
def respond(self, status, payload):
body = json.dumps(payload).encode("utf-8")
self.send_response(status)
self.send_header("Content-Type", "application/json")
self.send_header("Content-Length", str(len(body)))
self.end_headers()
self.wfile.write(body)
def log_message(self, format, *args):
if os.environ.get("LOG_LEVEL", "INFO").upper() != "QUIET":
super().log_message(format, *args)
if __name__ == "__main__":
host = os.environ.get("API_HOST", "0.0.0.0")
port = int(os.environ.get("API_PORT", "8000"))
ThreadingHTTPServer((host, port), Handler).serve_forever()