from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl
import os

import mimetypes

mimetypes.add_type('application/vnd.apple.mpegurl', '.m3u8')
mimetypes.add_type('video/mp2t', '.ts')

class CORSRequestHandler(SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_header("Access-Control-Allow-Origin", "*")
        self.send_header("Access-Control-Allow-Headers", "*")
        self.send_header("Access-Control-Allow-Methods", "GET, OPTIONS")
        super().end_headers()

os.chdir("/root/hls")

server_address = ("0.0.0.0", 443)
httpd = HTTPServer(server_address, CORSRequestHandler)

context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(
    certfile="/etc/letsencrypt/live/stream.fmpanamericana.com.ar/fullchain.pem",
    keyfile="/etc/letsencrypt/live/stream.fmpanamericana.com.ar/privkey.pem"
)

httpd.socket = context.wrap_socket(httpd.socket, server_side=True)

print("HTTPS HLS server running on port 443")
httpd.serve_forever()
