#!/usr/bin/env python3
"""HTTP server for the POC: serves poc.html and two downloadable files."""
import http.server
import socketserver
import sys

PORT = 8080

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path.startswith('/ready'):
            # Extension signals that the dangling state is set up.
            with open('/tmp/poc-ready', 'w') as f:
                f.write('1')
            self.send_response(200)
            self.send_header('Content-Type', 'text/plain')
            self.send_header('Access-Control-Allow-Origin', '*')
            self.end_headers()
            self.wfile.write(b'ok')
            return
        if self.path.startswith('/file'):
            # /file1.txt, /file2.txt — small attachment downloads.
            body = b'A' * 16
            self.send_response(200)
            self.send_header('Content-Type', 'application/octet-stream')
            self.send_header('Content-Disposition',
                             f'attachment; filename="poc{self.path[5:]}"')
            self.send_header('Content-Length', str(len(body)))
            self.end_headers()
            self.wfile.write(body)
            return
        return super().do_GET()

    def log_message(self, fmt, *args):
        sys.stderr.write("[server] " + (fmt % args) + "\n")

if __name__ == '__main__':
    socketserver.TCPServer.allow_reuse_address = True
    with socketserver.TCPServer(('127.0.0.1', PORT), Handler) as httpd:
        sys.stderr.write(f"[server] listening on 127.0.0.1:{PORT}\n")
        httpd.serve_forever()
