summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/workers/modules/resources/postmessage-credentials.py
blob: a054a1a923cb0f821863c5f69004e234b0b24019 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def main(request, response):
    cookie = request.cookies.first(b"COOKIE_NAME", None)

    response_headers = [(b"Content-Type", b"text/javascript"),
                        (b"Access-Control-Allow-Credentials", b"true")]

    origin = request.headers.get(b"Origin", None)
    if origin:
        response_headers.append((b"Access-Control-Allow-Origin", origin))

    cookie_value = b'';
    if cookie:
        cookie_value = cookie.value;
    return (200, response_headers,
            b"if ('DedicatedWorkerGlobalScope' in self &&" +
            b"    self instanceof DedicatedWorkerGlobalScope) {" +
            b"  postMessage('"+cookie_value+b"');" +
            b"} else if (" +
            b"    'SharedWorkerGlobalScope' in self &&" +
            b"    self instanceof SharedWorkerGlobalScope) {" +
            b"  onconnect = e => e.ports[0].postMessage('"+cookie_value+b"');" +
            b"}")