blob: ade620d8be0d0379411e8b41b809a9a3cafb4460 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import BaseHTTPServer
import urlparse
import urllib
from Widevine import Widevine
wv = Widevine()
class WidevineHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_HEAD(self):
self.send_response(200)
def do_POST(self):
length = int(self.headers['content-length'])
wv_challenge = self.rfile.read(length)
query = dict(urlparse.parse_qsl(urlparse.urlsplit(self.path).query))
mpd_url = query['mpd_url']
token = query['license_url'].split('token=')[1]
try:
wv_license = wv.get_license(mpd_url, wv_challenge, token)
self.send_response(200)
self.end_headers()
self.wfile.write(wv_license)
self.finish()
except Exception as ex:
self.send_response(400)
self.wfile.write(ex.value)
def log_message(self, format, *args):
"""Disable the BaseHTTPServer log."""
return
|