41 lines
1 KiB
JavaScript
41 lines
1 KiB
JavaScript
function handleRequest(request, response) {
|
|
const flavours = new Set(request.queryString.split(","));
|
|
|
|
response.setHeader("Content-Type", "text/css", false);
|
|
|
|
if (flavours.has("cacheable")) {
|
|
response.setHeader("Cache-Control", "max-age=10000", false);
|
|
} else {
|
|
response.setHeader("Cache-Control", "no-cache", false);
|
|
}
|
|
|
|
response.setHeader(
|
|
"Server-Timing",
|
|
`name1, name2;dur=20, name3;desc="desc3";dur=30`,
|
|
false
|
|
);
|
|
|
|
if (flavours.has("tao")) {
|
|
response.setHeader("Timing-Allow-Origin", "*", false);
|
|
}
|
|
|
|
if (flavours.has("cors")) {
|
|
response.setHeader("Access-Control-Allow-Origin", "*", false);
|
|
}
|
|
|
|
if (flavours.has("slow")) {
|
|
response.processAsync();
|
|
|
|
const timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
|
|
timer.init(
|
|
function () {
|
|
response.write("body:before { content: 'slow'; }");
|
|
response.finish();
|
|
},
|
|
1000,
|
|
Ci.nsITimer.TYPE_ONE_SHOT
|
|
);
|
|
} else {
|
|
response.write("body:before { content: 'non-slow'; }");
|
|
}
|
|
}
|