tor-browser

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

blank_page.sjs (1291B)


      1 /* Any copyright is dedicated to the Public Domain.
      2  * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 function decode(str) {
      5   return decodeURIComponent(str.replace(/\+/g, encodeURIComponent(" ")));
      6 }
      7 
      8 function handleRequest(request, response) {
      9   const queryString = request.queryString;
     10   let params = queryString.split("&").reduce((memo, pair) => {
     11     let [key, val] = pair.split("=");
     12     if (!val) {
     13       val = key;
     14       key = "query";
     15     }
     16 
     17     try {
     18       memo[decode(key)] = decode(val);
     19     } catch (e) {
     20       memo[key] = val;
     21     }
     22 
     23     return memo;
     24   }, {});
     25 
     26   const status = parseInt(params.status);
     27   const message = params.message;
     28   const header = params.header;
     29 
     30   // Set default if missing parameters
     31   if (!status || !message) {
     32     response.setStatusLine(request.httpVersion, 400, "Bad Request");
     33     response.setHeader("Content-Length", "0", false);
     34     return;
     35   }
     36 
     37   if (header === "hide") {
     38     response.setStatusLine(request.httpVersion, status, message);
     39     return;
     40   }
     41   if (header === "lie") {
     42     response.setStatusLine(request.httpVersion, status, message);
     43     response.setHeader("Content-Length", "100", false);
     44     return;
     45   }
     46   response.setStatusLine(request.httpVersion, status, message);
     47   response.setHeader("Content-Length", "0", false);
     48 }