file_block_script_wrong_mime_server.sjs (894B)
1 // Custom *.sjs specifically for the needs of: 2 // Bug 1288361 - Block scripts with wrong MIME type 3 4 "use strict"; 5 6 const WORKER = ` 7 onmessage = function(event) { 8 postMessage("worker-loaded"); 9 };`; 10 11 function handleRequest(request, response) { 12 const query = new URLSearchParams(request.queryString); 13 14 // avoid confusing cache behaviors 15 response.setHeader("Cache-Control", "no-cache", false); 16 17 // Set MIME type 18 response.setHeader("Content-Type", query.get("mime"), false); 19 20 // Deliver response 21 switch (query.get("type")) { 22 case "script": 23 response.write(""); 24 break; 25 case "worker": 26 response.write(WORKER); 27 break; 28 case "worker-import": 29 response.write( 30 `importScripts("file_block_script_wrong_mime_server.sjs?type=script&mime=${query.get( 31 "mime" 32 )}");` 33 ); 34 response.write(WORKER); 35 break; 36 } 37 }