file_SlowTallImage.sjs (656B)
1 "use strict"; 2 3 let { setTimeout } = ChromeUtils.importESModule( 4 "resource://gre/modules/Timer.sys.mjs" 5 ); 6 7 // A tall 1x1000 black png. 8 const IMG_BYTES = atob( 9 "iVBORw0KGgoAAAANSUhEUgAAAAEAAAPoAQMAAAAleAYdAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAF0lEQVQ4jWNgGAWjYBSMglEwCkbBUAcAB9AAASBs/t4AAAAASUVORK5CYII=" 10 ); 11 12 // Cargo-culted from file_SlowImage.sjs 13 function handleRequest(request, response) { 14 response.processAsync(); 15 response.setHeader("Content-Type", "image/png"); 16 let delay = request.queryString.indexOf("slow") >= 0 ? 600 : 200; 17 setTimeout(function () { 18 response.write(IMG_BYTES); 19 response.finish(); 20 }, delay); 21 }