tor-browser

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

respond-slowly.py (1116B)


      1 import time
      2 
      3 
      4 def main(request, response):
      5    head = b"""<script>
      6    let navigationTiming = performance.getEntriesByType('navigation')[0];
      7    let originalResponseEnd = navigationTiming.responseEnd;
      8    let originalDuration = navigationTiming.duration;
      9    function checkResponseEnd() {
     10        let responseEndDuringLoadEvent = navigationTiming.responseEnd;
     11        let durationDuringLoadEvent = navigationTiming.duration;
     12        setTimeout(function() {
     13            parent.postMessage([
     14                originalResponseEnd,
     15                originalDuration,
     16                responseEndDuringLoadEvent,
     17                durationDuringLoadEvent,
     18                navigationTiming.responseEnd,
     19                navigationTiming.duration], '*');
     20        }, 0);
     21    }
     22    </script><body onload='checkResponseEnd()'>"""
     23    response.headers.set(b"Content-Length", str(len(head) + 1000))
     24    response.headers.set(b"Content-Type", b"text/html")
     25    response.write_status_headers()
     26    response.writer.write_content(head)
     27    for i in range(100):
     28        response.writer.write_content(b"1234567890")
     29        time.sleep(0.01)