early_hint_redirect.sjs (580B)
1 "use strict"; 2 3 function handleRequest(request, response) { 4 // increase count 5 let count = JSON.parse(getSharedState("earlyHintCount")); 6 if ( 7 request.hasHeader("X-Moz") && 8 request.getHeader("X-Moz") === "early hint" 9 ) { 10 count.hinted += 1; 11 } else { 12 count.normal += 1; 13 } 14 setSharedState("earlyHintCount", JSON.stringify(count)); 15 16 // respond with redirect 17 response.setStatusLine(request.httpVersion, 301, "Moved Permanently"); 18 let location = request.queryString; 19 response.setHeader("Location", location, false); 20 response.write("Hello world!"); 21 }