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