#!/usr/bin/env python3
"""Serve POC files on 127.0.0.1:9123. Chrome is launched with
--host-resolver-rules mapping attacker.test and victim.test to this server,
so the victim iframe is cross-SITE (=> OOPIF under site isolation)."""
import http.server
import os
import socketserver

PORT = 9123
ROOT = os.path.dirname(os.path.abspath(__file__))


class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *a, **kw):
        super().__init__(*a, directory=ROOT, **kw)

    def end_headers(self):
        self.send_header("Cache-Control", "no-store")
        super().end_headers()


class ReuseTCP(socketserver.TCPServer):
    allow_reuse_address = True


if __name__ == "__main__":
    httpd = ReuseTCP(("127.0.0.1", PORT), Handler)
    print(f"[server] listening on http://127.0.0.1:{PORT}/")
    print("[server] Load http://attacker.test:9123/attacker.html in Chrome "
          "with --host-resolver-rules='MAP *.test 127.0.0.1'")
    httpd.serve_forever()
