echo-client-hints-received.py (2403B)
1 def main(request, response): 2 """ 3 Simple handler that sets a response header based on which client hint 4 request headers were received. 5 """ 6 7 response.headers.append(b"Access-Control-Allow-Origin", b"*") 8 response.headers.append(b"Access-Control-Allow-Headers", b"*") 9 response.headers.append(b"Access-Control-Expose-Headers", b"*") 10 11 if b"sec-ch-device-memory" in request.headers: 12 response.headers.set(b"device-memory-received", request.headers.get(b"sec-ch-device-memory")) 13 if b"device-memory" in request.headers: 14 response.headers.set(b"device-memory-deprecated-received", request.headers.get(b"device-memory")) 15 if b"sec-ch-dpr" in request.headers: 16 response.headers.set(b"dpr-received", request.headers.get(b"sec-ch-dpr")) 17 if b"dpr" in request.headers: 18 response.headers.set(b"dpr-deprecated-received", request.headers.get(b"dpr")) 19 if b"sec-ch-viewport-width" in request.headers: 20 response.headers.set(b"viewport-width-received", request.headers.get(b"sec-ch-viewport-width")) 21 if b"viewport-width" in request.headers: 22 response.headers.set(b"viewport-width-deprecated-received", request.headers.get(b"viewport-width")) 23 if b"sec-ch-viewport-height" in request.headers: 24 response.headers.set(b"viewport-height-received", request.headers.get(b"sec-ch-viewport-height")) 25 if b"rtt" in request.headers: 26 response.headers.set(b"rtt-received", request.headers.get(b"rtt")) 27 if b"downlink" in request.headers: 28 response.headers.set(b"downlink-received", request.headers.get(b"downlink")) 29 if b"ect" in request.headers: 30 response.headers.set(b"ect-received", request.headers.get(b"ect")) 31 if b"sec-ch-ua-mobile" in request.headers: 32 response.headers.set(b"mobile-received", request.headers.get(b"sec-ch-ua-mobile")) 33 if b"sec-ch-prefers-color-scheme" in request.headers: 34 response.headers.set(b"prefers-color-scheme-received", request.headers.get(b"sec-ch-prefers-color-scheme")) 35 if b"sec-ch-prefers-reduced-motion" in request.headers: 36 response.headers.set(b"prefers-reduced-motion-received", request.headers.get(b"sec-ch-prefers-reduced-motion")) 37 if b"sec-ch-prefers-reduced-transparency" in request.headers: 38 response.headers.set(b"prefers-reduced-transparency-received", request.headers.get(b"sec-ch-prefers-reduced-transparency"))