tor-browser

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

file_browser_refresh_image.sjs (1013B)


      1 "use strict";
      2 
      3 function handleRequest(request, response) {
      4   const file = Cc["@mozilla.org/file/directory_service;1"]
      5     .getService(Ci.nsIProperties)
      6     .get("CurWorkD", Ci.nsIFile);
      7 
      8   file.append("tests");
      9   file.append("image");
     10   file.append("test");
     11   file.append("mochitest");
     12 
     13   const redirectstate = "image_resource";
     14   if (getState(redirectstate) == "") {
     15     file.append("green.png");
     16     setState(redirectstate, "green");
     17   } else {
     18     file.append("red.png");
     19     setState(redirectstate, "");
     20   }
     21 
     22   response.setHeader("Cache-Control", "max-age=3600", false);
     23 
     24   const fileStream = Cc[
     25     "@mozilla.org/network/file-input-stream;1"
     26   ].createInstance(Ci.nsIFileInputStream);
     27 
     28   fileStream.init(file, 1, 0, false);
     29   const binaryStream = Cc["@mozilla.org/binaryinputstream;1"].createInstance(
     30     Ci.nsIBinaryInputStream
     31   );
     32   binaryStream.setInputStream(fileStream);
     33 
     34   response.bodyOutputStream.writeFrom(binaryStream, binaryStream.available());
     35 
     36   binaryStream.close();
     37   fileStream.close();
     38 }