bug490949.sjs (935B)
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/bug490949.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 response.setHeader("Cache-Control", "no-cache", false); 18 19 var fileStream = Cc[ 20 "@mozilla.org/network/file-input-stream;1" 21 ].createInstance(Ci.nsIFileInputStream); 22 fileStream.init(file, 1, 0, false); 23 var binaryStream = Cc["@mozilla.org/binaryinputstream;1"].createInstance( 24 Ci.nsIBinaryInputStream 25 ); 26 binaryStream.setInputStream(fileStream); 27 28 response.bodyOutputStream.writeFrom(binaryStream, binaryStream.available()); 29 30 binaryStream.close(); 31 fileStream.close(); 32 }