shared-worker-cookies.py (1379B)
1 from cookies.resources.helpers import makeCookieHeader, readCookies, 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 cookies = readCookies(request) 8 message = b"ReadOnLoad:" 9 if b"samesite_strict" in cookies: 10 message += b"Strict" 11 if b"samesite_lax" in cookies: 12 message += b"Lax" 13 if b"samesite_none" in cookies: 14 message += b"None" 15 document = b""" 16 let connection_count = 0; 17 self.onconnect = (e) => { 18 connection_count++; 19 fetch("/storage-access-api/resources/get_cookies.py", {credentials: 'include'}).then((resp) => { 20 resp.json().then((cookies) => { 21 let message = \"""" + message + b""",ReadOnFetch:"; 22 if (cookies.hasOwnProperty("samesite_strict")) { 23 message += "Strict"; 24 } 25 if (cookies.hasOwnProperty("samesite_lax")) { 26 message += "Lax"; 27 } 28 if (cookies.hasOwnProperty("samesite_none")) { 29 message += "None"; 30 } 31 message += ",ConnectionsMade:" + connection_count; 32 e.ports[0].postMessage(message); 33 }); 34 }); 35 } 36 """ 37 return headers, document