#!/usr/bin/env python3
"""HTTP server for M2 fenced frame initiator_origin leak PoC."""
import http.server
import sys


class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/destination' or self.path.startswith('/destination?'):
            sec = self.headers.get('Sec-Fetch-Site', '(not present)')
            print(f'\n[*] /destination  Sec-Fetch-Site: {sec}')
            body = f'<h1>Sec-Fetch-Site: {sec}</h1>'.encode()
            self.send_response(200)
            self.send_header('Content-Type', 'text/html')
            self.send_header('Content-Length', len(body))
            self.end_headers()
            self.wfile.write(body)
        else:
            super().do_GET()

    def end_headers(self):
        self.send_header('Supports-Loading-Mode', 'fenced-frame')
        super().end_headers()


if __name__ == '__main__':
    port = int(sys.argv[1]) if len(sys.argv) > 1 else 8080
    http.server.HTTPServer(('localhost', port), Handler).serve_forever()
