#!/usr/bin/env python3
"""ios-web 静态服务器 — 在 SimpleHTTPServer 基础上给所有响应加 no-store,防止 Cloudflare 缓存。"""
import http.server, socketserver, sys, os

PORT = int(os.environ.get('IOS_WEB_PORT', '9000'))
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, no-cache, must-revalidate, max-age=0')
        self.send_header('Pragma', 'no-cache')
        self.send_header('Expires', '0')
        super().end_headers()
    def log_message(self, fmt, *args):
        sys.stderr.write("%s - %s\n" % (self.address_string(), fmt % args))

class DualStack(socketserver.TCPServer):
    allow_reuse_address = True
    def server_bind(self):
        try:
            self.socket.setsockopt(__import__('socket').IPPROTO_IPV6, __import__('socket').IPV6_V6ONLY, 0)
        except Exception:
            pass
        super().server_bind()

if __name__ == '__main__':
    os.chdir(ROOT)
    with DualStack(("0.0.0.0", PORT), Handler) as httpd:
        print(f"ios-web serving {ROOT} on :{PORT} (no-store headers)", flush=True)
        httpd.serve_forever()
