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 }