file_image_header.sjs (1139B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 function handleRequest(request, response) { 5 let accept = request.getHeader("Accept"); 6 7 // Make sure that the Accept header is for images. 8 if (accept.startsWith("image/")) { 9 switch (request.queryString) { 10 case "imagePNG": 11 response.setStatusLine(request.httpVersion, 200, "Ok"); 12 // Also test that the image is rendered inline. 13 response.setHeader("Content-Disposition", "attachment"); 14 response.write( 15 atob( 16 "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2P4v5ThPwAG7wKklwQ/bwAAAABJRU5ErkJggg==" 17 ) 18 ); 19 return; 20 case "imageSVG": { 21 response.setStatusLine(request.httpVersion, 200, "OK"); 22 response.setHeader("Content-Type", "image/svg+xml"); 23 response.write( 24 `<svg height="100" width="100" xmlns="http://www.w3.org/2000/svg"><circle r="45" cx="50" cy="50" fill="blue" /></svg>` 25 ); 26 return; 27 } 28 } 29 } 30 31 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 32 }