tor-browser

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

sjs_json-test-server.sjs (1320B)


      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.setStatusLine(request.httpVersion, 200, "OK");
      7   response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
      8   response.setHeader("Pragma", "no-cache");
      9   response.setHeader("Expires", "0");
     10 
     11   response.setHeader("Content-Type", "application/json; charset=utf-8", false);
     12 
     13   // This server checks the name parameter from the request to decide which JSON object to
     14   // return.
     15   const params = request.queryString.split("&");
     16   const name = (params.filter(s => s.includes("name="))[0] || "").split("=")[1];
     17   switch (name) {
     18     case "null":
     19       response.write('{ "greeting": null }');
     20       break;
     21     case "root-null":
     22       response.write(`null`);
     23       break;
     24     case "nogrip":
     25       response.write('{"obj": {"type": "string" }}');
     26       break;
     27     case "empty":
     28       response.write("{}");
     29       break;
     30     case "numbers":
     31       response.write(`{
     32         "small": 12,
     33         "negzero": -0,
     34         "big": 1516340399466235648,
     35         "precise": 3.141592653589793238462643383279,
     36         "exp": 1e2
     37       }`);
     38       break;
     39     case "large-root-integer":
     40       response.write(`1516340399466235648`);
     41       break;
     42   }
     43 }