Source code

Revision control

Copy as Markdown

Other Tools

# Returns a worker script that posts the request's referrer header.
def main(request, response):
referrer = request.headers.get(b"referer", b"")
response_headers = [(b"Content-Type", b"text/javascript"),
(b"Access-Control-Allow-Origin", b"*")]
return (200, response_headers,
b"if ('DedicatedWorkerGlobalScope' in self &&" +
b" self instanceof DedicatedWorkerGlobalScope) {" +
b" postMessage('"+referrer+b"');" +
b"} else if (" +
b" 'SharedWorkerGlobalScope' in self &&" +
b" self instanceof SharedWorkerGlobalScope) {" +
b" onconnect = e => e.ports[0].postMessage('"+referrer+b"');" +
b"}")