tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }