tor-browser

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

exec.py (993B)


      1 from wptserve.utils import isomorphic_decode
      2 import os
      3 
      4 def main(request, response):
      5    sec_purpose = request.headers.get(b"sec-purpose")
      6    if (sec_purpose == b'prefetch;prerender' and b"code" in request.GET):
      7        code = int(request.GET.first(b"code"))
      8    else:
      9        code = 200
     10 
     11    if b"uuid" in request.GET:
     12        path = '/speculation-rules/prerender/resources/exec.py'
     13        uuid = request.GET.first(b"uuid")
     14        with request.server.stash.lock:
     15            count = request.server.stash.take(uuid, path) or 0
     16            if b"get-fetch-count" in request.GET:
     17                response.status = 200
     18                response.content = '%d' % count
     19                request.server.stash.put(uuid, count, path)
     20                return
     21            count += 1
     22            request.server.stash.put(uuid, count, path)
     23 
     24    with open(os.path.join(os.path.dirname(isomorphic_decode(__file__)), "exec.html"), u"r") as fn:
     25        response.content = fn.read()
     26    response.status = code