tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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"))