tor-browser

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

access-control-allow-lists.py (907B)


      1 import json
      2 
      3 from wptserve.utils import isomorphic_decode
      4 
      5 def main(request, response):
      6    if b"origin" in request.GET:
      7        response.headers.set(b"Access-Control-Allow-Origin", request.GET[b"origin"])
      8    elif b"origins" in request.GET:
      9        for origin in request.GET[b"origins"].split(b','):
     10            response.headers.set(b"Access-Control-Allow-Origin", request.GET[b"origin"])
     11 
     12    if b"headers" in request.GET:
     13        response.headers.set(b"Access-Control-Allow-Headers", request.GET[b"headers"])
     14    if b"methods" in request.GET:
     15        response.headers.set(b"Access-Control-Allow-Methods", request.GET[b"methods"])
     16 
     17    headers = dict(request.headers)
     18 
     19    for header in headers:
     20        headers[header] = headers[header][0]
     21 
     22    str_headers = {}
     23    for key, val in headers.items():
     24        str_headers[isomorphic_decode(key)] = isomorphic_decode(val)
     25 
     26    return json.dumps(str_headers)