embedded_worker.py (855B)
1 from cookies.resources.helpers import setNoCacheAndCORSHeaders 2 3 # This worker messages how many connections have been made and checks what cookies are available. 4 def main(request, response): 5 headers = setNoCacheAndCORSHeaders(request, response) 6 headers[0] = (b"Content-Type", b"text/javascript") 7 cookie_header = request.headers.get(b"Cookie", b"") 8 document = b""" 9 "use strict"; 10 11 self.onmessage = async (message) => { 12 function reply(data) { 13 self.postMessage({data}); 14 } 15 16 switch (message.data.command) { 17 case "fetch": { 18 const response = await fetch(message.data.url, {mode: 'cors', credentials: 'include'}) 19 .then((resp) => resp.text()); 20 reply(response); 21 break; 22 } 23 case "load": { 24 reply(\"""" + cookie_header + b""""); 25 break; 26 } 27 default: 28 } 29 }; 30 """ 31 return headers, document