import http.server
import json
from urllib.parse import urlparse

from drm.keyos_proxy import LAProxy_RequestHandler

with open('config.json') as f:
    config = json.load(f)

PORT = int(config['PLAYER_KEYOSPROXY_PORT'])


class MyHandler(LAProxy_RequestHandler, http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        parsed = urlparse(self.path)

        # FairPlay certificate endpoint (from keyos proxy)
        if parsed.path == '/fps/certificate':
            return LAProxy_RequestHandler.do_GET(self)

        # Static file serving
        super(LAProxy_RequestHandler, self).do_GET()

    def do_POST(self):
        # License proxy endpoint (from keyos proxy)
        return LAProxy_RequestHandler.do_POST(self)


server_address = ('0.0.0.0', PORT)
httpd = http.server.HTTPServer(server_address, MyHandler)

DOMAIN = config.get('DOMAIN', 'localhost')
print(f"Serving on http://{DOMAIN}:{PORT}")
httpd.serve_forever()
