blank_page.sjs (1291B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 function decode(str) { 5 return decodeURIComponent(str.replace(/\+/g, encodeURIComponent(" "))); 6 } 7 8 function handleRequest(request, response) { 9 const queryString = request.queryString; 10 let params = queryString.split("&").reduce((memo, pair) => { 11 let [key, val] = pair.split("="); 12 if (!val) { 13 val = key; 14 key = "query"; 15 } 16 17 try { 18 memo[decode(key)] = decode(val); 19 } catch (e) { 20 memo[key] = val; 21 } 22 23 return memo; 24 }, {}); 25 26 const status = parseInt(params.status); 27 const message = params.message; 28 const header = params.header; 29 30 // Set default if missing parameters 31 if (!status || !message) { 32 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 33 response.setHeader("Content-Length", "0", false); 34 return; 35 } 36 37 if (header === "hide") { 38 response.setStatusLine(request.httpVersion, status, message); 39 return; 40 } 41 if (header === "lie") { 42 response.setStatusLine(request.httpVersion, status, message); 43 response.setHeader("Content-Length", "100", false); 44 return; 45 } 46 response.setStatusLine(request.httpVersion, status, message); 47 response.setHeader("Content-Length", "0", false); 48 }