tor-browser

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

inspect-headers.py (1210B)


      1 def main(request, response):
      2    headers = []
      3    if b"headers" in request.GET:
      4        checked_headers = request.GET.first(b"headers").split(b"|")
      5        for header in checked_headers:
      6            if header in request.headers:
      7                headers.append((b"x-request-" + header, request.headers.get(header, b"")))
      8 
      9    if b"cors" in request.GET:
     10        if b"Origin" in request.headers:
     11            headers.append((b"Access-Control-Allow-Origin", request.headers.get(b"Origin", b"")))
     12        else:
     13            headers.append((b"Access-Control-Allow-Origin", b"*"))
     14        headers.append((b"Access-Control-Allow-Credentials", b"true"))
     15        headers.append((b"Access-Control-Allow-Methods", b"GET, POST, HEAD"))
     16        exposed_headers = [b"x-request-" + header for header in checked_headers]
     17        headers.append((b"Access-Control-Expose-Headers", b", ".join(exposed_headers)))
     18        if b"allow_headers" in request.GET:
     19            headers.append((b"Access-Control-Allow-Headers", request.GET[b'allow_headers']))
     20        else:
     21            headers.append((b"Access-Control-Allow-Headers", b", ".join(request.headers)))
     22 
     23    headers.append((b"content-type", b"text/plain"))
     24    return headers, b""