#!/usr/bin/env python3
import http.server
import socketserver
import sys

PORT = 8080

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_POST(self):
        if self.path == '/log':
            length = int(self.headers.get('Content-Length', 0))
            body = self.rfile.read(length).decode('utf-8', 'replace')
            sys.stderr.write('[page] ' + body + '\n')
            sys.stderr.flush()
            self.send_response(204)
            self.end_headers()
        else:
            self.send_error(404)

    def log_message(self, fmt, *args):
        pass  # quiet

socketserver.TCPServer.allow_reuse_address = True
with socketserver.TCPServer(('127.0.0.1', PORT), Handler) as httpd:
    sys.stderr.write(f'[server] serving on http://127.0.0.1:{PORT}/\n')
    sys.stderr.flush()
    httpd.serve_forever()
