#!/usr/bin/env python3
"""Serves the POC files on :8080.

Chrome should be launched with --host-resolver-rules="MAP *.test 127.0.0.1" so
that http://a.test:8080/ and http://b.test:8080/ are cross-site (different
renderer processes under site isolation) but both hit this server.
"""
import http.server
import os
import socketserver

PORT = 8080

class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *a, **kw):
        super().__init__(*a, directory=os.path.dirname(os.path.abspath(__file__)), **kw)

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

class ReusableTCPServer(socketserver.TCPServer):
    allow_reuse_address = True

if __name__ == '__main__':
    with ReusableTCPServer(('127.0.0.1', PORT), Handler) as httpd:
        print(f'Serving POC on http://127.0.0.1:{PORT}/ (use a.test/b.test via host-resolver-rules)')
        httpd.serve_forever()
