file_console_messages.sjs (1132B)
1 const html = ` 2 <!DOCTYPE html> 3 <html> 4 <body> 5 <script src="file_console_messages.sjs?${encodeURIComponent(JSON.stringify({ res: "js" }))}"></script> 6 <link rel="stylesheet" href="file_console_messages.sjs?${encodeURIComponent(JSON.stringify({ res: "css" }))}"> 7 </body> 8 </html> 9 `; 10 11 function handleRequest(request, response) { 12 const payload = JSON.parse(decodeURIComponent(request.queryString)); 13 14 if (!payload || !payload.res) { 15 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 16 return; 17 } 18 19 let body = ""; 20 switch (payload.res) { 21 case "html": 22 body = html; 23 response.setHeader("Content-Type", "text/html;charset=UTF-8"); 24 break; 25 case "js": 26 response.setHeader( 27 "Content-Type", 28 "application/javascript;charset=UTF-8" 29 ); 30 break; 31 case "css": 32 response.setHeader("Content-Type", "text/css;charset=UTF-8"); 33 break; 34 default: 35 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 36 return; 37 } 38 39 for (const [name, value] of payload.headers ?? []) { 40 response.setHeader(name, value); 41 } 42 43 response.write(body); 44 }