summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/client-hints/resources/echo-ua-client-hints-received.py
blob: 7982421d07b8b666fc8fc840123a2f47aa6edf14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import importlib
client_hints_ua_list = importlib.import_module("client-hints.resources.clienthintslist").client_hints_ua_list

def main(request, response):
    """
  Simple handler that sets a response header based on which client hint
  request headers were received.
  """

    response.headers.append(b"Access-Control-Allow-Origin", b"*")
    response.headers.append(b"Access-Control-Allow-Headers", b"*")
    response.headers.append(b"Access-Control-Expose-Headers", b"*")

    client_hint_headers = client_hints_ua_list()
    request_client_hints = {i: request.headers.get(i) for i in client_hint_headers}

    for header in client_hint_headers:
        if request_client_hints[header] is not None:
            response.headers.set(header + b"-received", request_client_hints[header])

    headers = []
    content = u""
    return 200, headers, content