sjs_hsts-test-server.sjs (976B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 "use strict"; 4 5 function handleRequest(request, response) { 6 response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 7 response.setHeader("Pragma", "no-cache"); 8 response.setHeader("Expires", "0"); 9 10 if (request.queryString === "reset") { 11 // Reset the HSTS policy, prevent influencing other tests 12 response.setStatusLine(request.httpVersion, 200, "OK"); 13 response.setHeader("Strict-Transport-Security", "max-age=0"); 14 response.write("Resetting HSTS"); 15 } else if (request.scheme === "http") { 16 response.setStatusLine(request.httpVersion, 302, "Found"); 17 response.setHeader("Location", "https://" + request.host + request.path); 18 } else { 19 response.setStatusLine(request.httpVersion, 200, "OK"); 20 response.setHeader("Strict-Transport-Security", "max-age=100"); 21 response.write("Page was accessed over HTTPS!"); 22 } 23 }