tor-browser

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

sjs_slow-response-test-server.sjs (998B)


      1 /* Any copyright is dedicated to the Public Domain.
      2    http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 function handleRequest(request, response) {
      6   response.processAsync();
      7 
      8   const params = new Map(
      9     request.queryString
     10       .replace("?", "")
     11       .split("&")
     12       .map(s => s.split("="))
     13   );
     14   const delay = params.has("delay") ? params.get("delay") : 300;
     15   const status = params.has("status") ? params.get("status") : 200;
     16 
     17   let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
     18   timer.initWithCallback(
     19     () => {
     20       // to avoid garbage collection
     21       timer = null;
     22       response.setStatusLine(request.httpVersion, status, "OK");
     23       response.setHeader("Content-Type", "text/plain", false);
     24       response.setHeader(
     25         "Set-Cookie",
     26         "foo=bar; Max-Age=10; HttpOnly; SameSite=Lax",
     27         true
     28       );
     29       response.write("Some response data");
     30       response.finish();
     31     },
     32     delay,
     33     Ci.nsITimer.TYPE_ONE_SHOT
     34   );
     35 }