tor-browser

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

server_manifest.sjs (1483B)


      1 /* Any copyright is dedicated to the Public Domain.
      2  * http://creativecommons.org/publicdomain/zero/1.0/
      3  */
      4 
      5 function handleRequest(request, response) {
      6   let params = new URLSearchParams(request.queryString);
      7   let test = params.get("set_test");
      8   if (test === null) {
      9     test = getState("test");
     10   } else {
     11     setState("test", test);
     12     response.setHeader("Access-Control-Allow-Origin", "*");
     13     response.setStatusLine(request.httpVersion, 200, "OK");
     14     return;
     15   }
     16 
     17   if (request.hasHeader("Cookie")) {
     18     response.setStatusLine(request.httpVersion, 400, "Bad Request");
     19     return;
     20   }
     21   if (request.hasHeader("Origin") && request.getHeader("Origin") != "null") {
     22     response.setStatusLine(request.httpVersion, 400, "Bad Request");
     23     return;
     24   }
     25   if (request.hasHeader("Referer")) {
     26     response.setStatusLine(request.httpVersion, 400, "Bad Request");
     27     return;
     28   }
     29 
     30   response.setHeader("Access-Control-Allow-Origin", "*");
     31   response.setHeader("Content-Type", "application/json");
     32   let content = {
     33     accounts_endpoint:
     34       "https://example.net/tests/dom/credentialmanagement/identity/tests/mochitest/server_TESTNAME_accounts.sjs",
     35     id_assertion_endpoint:
     36       "https://example.net/tests/dom/credentialmanagement/identity/tests/mochitest/server_TESTNAME_idtoken.sjs",
     37   };
     38   let bodyFormat = JSON.stringify(content);
     39   let body = bodyFormat.replaceAll("TESTNAME", test);
     40   response.setStatusLine(request.httpVersion, 200, "OK");
     41   response.write(body);
     42 }