file_block_subresource_redir_to_data.sjs (795B)
1 "use strict"; 2 3 let SCRIPT_DATA = "alert('this alert should be blocked');"; 4 let WORKER_DATA = 5 "onmessage = function(event) { postMessage('worker-loaded'); }"; 6 7 function handleRequest(request, response) { 8 const query = request.queryString; 9 10 response.setHeader("Cache-Control", "no-cache", false); 11 response.setStatusLine("1.1", 302, "Found"); 12 13 if (query === "script" || query === "modulescript") { 14 response.setHeader( 15 "Location", 16 "data:text/javascript," + escape(SCRIPT_DATA), 17 false 18 ); 19 return; 20 } 21 22 if (query === "worker") { 23 response.setHeader( 24 "Location", 25 "data:text/javascript," + escape(WORKER_DATA), 26 false 27 ); 28 return; 29 } 30 31 // we should never get here; just in case return something unexpected 32 response.write("do'h"); 33 }