tor-browser

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

file_console_messages.sjs (1132B)


      1 const html = `
      2 <!DOCTYPE html>
      3 <html>
      4 <body>
      5 <script src="file_console_messages.sjs?${encodeURIComponent(JSON.stringify({ res: "js" }))}"></script>
      6 <link rel="stylesheet" href="file_console_messages.sjs?${encodeURIComponent(JSON.stringify({ res: "css" }))}">
      7 </body>
      8 </html>
      9 `;
     10 
     11 function handleRequest(request, response) {
     12   const payload = JSON.parse(decodeURIComponent(request.queryString));
     13 
     14   if (!payload || !payload.res) {
     15     response.setStatusLine(request.httpVersion, 400, "Bad Request");
     16     return;
     17   }
     18 
     19   let body = "";
     20   switch (payload.res) {
     21     case "html":
     22       body = html;
     23       response.setHeader("Content-Type", "text/html;charset=UTF-8");
     24       break;
     25     case "js":
     26       response.setHeader(
     27         "Content-Type",
     28         "application/javascript;charset=UTF-8"
     29       );
     30       break;
     31     case "css":
     32       response.setHeader("Content-Type", "text/css;charset=UTF-8");
     33       break;
     34     default:
     35       response.setStatusLine(request.httpVersion, 400, "Bad Request");
     36       return;
     37   }
     38 
     39   for (const [name, value] of payload.headers ?? []) {
     40     response.setHeader(name, value);
     41   }
     42 
     43   response.write(body);
     44 }