tor-browser

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

redirect.sjs (963B)


      1 function parseQuery(request, key) {
      2   var params = request.queryString.split("&");
      3   for (var j = 0; j < params.length; ++j) {
      4     var p = params[j];
      5     if (p == key) {
      6       return true;
      7     }
      8     if (p.indexOf(key + "=") == 0) {
      9       return p.substring(key.length + 1);
     10     }
     11     if (!p.includes("=") && key == "") {
     12       return p;
     13     }
     14   }
     15   return false;
     16 }
     17 
     18 // Return file content for the first request with a given key.
     19 // All subsequent requests return a redirect to a different-origin resource.
     20 function handleRequest(request, response) {
     21   var domain = parseQuery(request, "domain");
     22   var file = parseQuery(request, "file");
     23   var allowed = parseQuery(request, "allowed");
     24 
     25   response.setStatusLine(request.httpVersion, 303, "See Other");
     26   response.setHeader(
     27     "Location",
     28     "http://" +
     29       domain +
     30       "/tests/dom/media/test/" +
     31       (allowed ? "allowed.sjs?" : "") +
     32       file
     33   );
     34   response.setHeader("Content-Type", "text/html");
     35 }