tor-browser

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

chunked_json.sjs (981B)


      1 /* Any copyright is dedicated to the Public Domain.
      2  * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 const key = "json-viewer-chunked-response";
      6 function setResponse(response) {
      7   setObjectState(key, response);
      8 }
      9 function getResponse() {
     10   let response;
     11   getObjectState(key, v => {
     12     response = v;
     13   });
     14   return response;
     15 }
     16 
     17 function handleRequest(request, response) {
     18   const { queryString } = request;
     19   if (!queryString) {
     20     response.processAsync();
     21     setResponse(response);
     22     response.setHeader("Content-Type", "application/json");
     23     // Write something so that the JSON viewer app starts loading.
     24     response.write(" ");
     25     return;
     26   }
     27   const [command, value] = queryString.split("=");
     28   switch (command) {
     29     case "write":
     30       getResponse().write(value);
     31       break;
     32     case "close":
     33       getResponse().finish();
     34       setResponse(null);
     35       break;
     36   }
     37   response.setHeader("Content-Type", "text/plain");
     38   response.write("ok");
     39 }