cacheable_non_cacheable_server.sjs (1117B)
1 function handleRequest(request, response) { 2 if (request.queryString == "use-cacheable") { 3 setState("cacheable", "true"); 4 5 response.setStatusLine(request.httpVersion, 200, "OK"); 6 response.setHeader("Content-Type", "text/text", false); 7 const body = "ok"; 8 response.bodyOutputStream.write(body, body.length); 9 return; 10 } 11 12 if (request.queryString == "use-non-cacheable") { 13 setState("cacheable", "false"); 14 15 response.setStatusLine(request.httpVersion, 200, "OK"); 16 response.setHeader("Content-Type", "text/text", false); 17 const body = "ok"; 18 response.bodyOutputStream.write(body, body.length); 19 return; 20 } 21 22 let cacheable = getState("cacheable") === "true"; 23 24 response.setStatusLine(request.httpVersion, 200, "OK"); 25 if (cacheable) { 26 response.setHeader("Cache-Control", "max-age=10000", false); 27 } else { 28 response.setHeader("Cache-Control", "no-cache", false); 29 } 30 response.setHeader("Content-Type", "text/javascript", false); 31 32 const body = ` 33 document.body.setAttribute("cacheable", "${cacheable}"); 34 `; 35 response.bodyOutputStream.write(body, body.length); 36 }