css_server.sjs (1041B)
1 function handleRequest(request, response) { 2 const flavours = new Set(request.queryString.split(",")); 3 4 response.setHeader("Content-Type", "text/css", false); 5 6 if (flavours.has("cacheable")) { 7 response.setHeader("Cache-Control", "max-age=10000", false); 8 } else { 9 response.setHeader("Cache-Control", "no-cache", false); 10 } 11 12 response.setHeader( 13 "Server-Timing", 14 `name1, name2;dur=20, name3;desc="desc3";dur=30`, 15 false 16 ); 17 18 if (flavours.has("tao")) { 19 response.setHeader("Timing-Allow-Origin", "*", false); 20 } 21 22 if (flavours.has("cors")) { 23 response.setHeader("Access-Control-Allow-Origin", "*", false); 24 } 25 26 if (flavours.has("slow")) { 27 response.processAsync(); 28 29 const timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); 30 timer.init( 31 function () { 32 response.write("body:before { content: 'slow'; }"); 33 response.finish(); 34 }, 35 1000, 36 Ci.nsITimer.TYPE_ONE_SHOT 37 ); 38 } else { 39 response.write("body:before { content: 'non-slow'; }"); 40 } 41 }