34 lines
1,006 B
JavaScript
34 lines
1,006 B
JavaScript
function handleRequest(request, response) {
|
|
var file = Services.dirsvc.get("CurWorkD", Ci.nsIFile);
|
|
|
|
file.append("tests");
|
|
file.append("image");
|
|
file.append("test");
|
|
file.append("mochitest");
|
|
|
|
if (
|
|
request.getHeader("Accept") ==
|
|
"image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"
|
|
) {
|
|
file.append("blue.png");
|
|
} else {
|
|
file.append("red.png");
|
|
}
|
|
response.setStatusLine(request.httpVersion, 200, "OK");
|
|
response.setHeader("Content-Type", "image/png", false);
|
|
response.setHeader("Cache-Control", "no-cache", false);
|
|
|
|
var fileStream = Cc[
|
|
"@mozilla.org/network/file-input-stream;1"
|
|
].createInstance(Ci.nsIFileInputStream);
|
|
fileStream.init(file, 1, 0, false);
|
|
var binaryStream = Cc["@mozilla.org/binaryinputstream;1"].createInstance(
|
|
Ci.nsIBinaryInputStream
|
|
);
|
|
binaryStream.setInputStream(fileStream);
|
|
|
|
response.bodyOutputStream.writeFrom(binaryStream, binaryStream.available());
|
|
|
|
binaryStream.close();
|
|
fileStream.close();
|
|
}
|