tor-browser

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

coopHeaderCommon.sjs (931B)


      1 function handleRequest(request, response) {
      2   let { NetUtil } = ChromeUtils.importESModule(
      3     "resource://gre/modules/NetUtil.sys.mjs"
      4   );
      5   let query = new URLSearchParams(request.queryString);
      6 
      7   response.setHeader("Cross-Origin-Opener-Policy", "same-origin", false);
      8   response.setHeader("Cross-Origin-Embedder-Policy", "require-corp", false);
      9 
     10   var fileRoot = query.get("fileRoot");
     11 
     12   // Get the desired file
     13   var file;
     14   getObjectState("SERVER_ROOT", function (serverRoot) {
     15     file = serverRoot.getFile(fileRoot);
     16   });
     17 
     18   // Set up the file streams to read in the file as UTF-8
     19   let fstream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(
     20     Ci.nsIFileInputStream
     21   );
     22 
     23   fstream.init(file, -1, 0, 0);
     24 
     25   // Read the file
     26   let available = fstream.available();
     27   let data =
     28     available > 0 ? NetUtil.readInputStreamToString(fstream, available) : "";
     29   fstream.close();
     30 
     31   response.write(data);
     32 }