Render an HTML template with all request data

This example renders an HTML template with all request data.

Request

{
  basePath = "/template";
  body = "/nix/store/5n90qy4wsm9r91m8p8dslp37hsmlna17-body";
  bodyHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=";
  error = null;
  headers = {
    Accept = [
      "text/html, application/xhtml+xml, application/xml; q=0.9, */*; q=0.8"
    ];
    Accept-Encoding = [
      "zstd, br, gzip"
    ];
    Accept-Language = [
      "en-US, en; q=0.5"
    ];
    Cdn-Bot = [
      "ccbot; category=AIScraper; verified=no; action=ignore"
    ];
    Cdn-Connectionid = [
      "2284635020"
    ];
    Cdn-Host = [
      "nixpresso.dev"
    ];
    Cdn-Ja4 = [
      "t13d1113h2_5e2a75874763_ae9a3ef624c5"
    ];
    Cdn-Loopcount = [
      "1"
    ];
    Cdn-Mobiledevice = [
      "false"
    ];
    Cdn-Proxyver = [
      "1.58"
    ];
    Cdn-Pullzoneid = [
      "4948548"
    ];
    Cdn-Requestcountrycode = [
      "US"
    ];
    Cdn-Requestid = [
      "c6fe61e8295e11cc6350db9f1f85c6ea"
    ];
    Cdn-Requeststatecode = [
      "VA"
    ];
    Cdn-Serverid = [
      "1310"
    ];
    Cdn-Serverzone = [
      "ASB"
    ];
    User-Agent = [
      "CCBot/2.0 (https://commoncrawl.org/faq/)"
    ];
    Via = [
      "BunnyCDN"
    ];
    X-Forwarded-For = [
      "2600:1f28:365:80b0:e7b0:4cd3:6926:26e"
    ];
    X-Forwarded-Proto = [
      "https"
    ];
    X-Real-Ip = [
      "2600:1f28:365:80b0:e7b0:4cd3:6926:26e"
    ];
  };
  host = "origin.nixpresso.dev";
  meta = {
    description = "Render an HTML template with all request data";
    evalArgs = [ ];
    evalCacheIgnore = {
      args = [
        "remoteAddr"
      ];
      headers = [ ];
    };
    pty = false;
  };
  method = "GET";
  options = {
    allowStore = true;
    allowedModes = [
      "serve"
      "log"
      "derivation"
    ];
    allowedPaths = [ ];
    allowedTypes = [
      "string"
      "path"
      "derivation"
    ];
    basePath = "";
    evalCache = true;
    handler = "path:/nix/store/irhb7z9x220ppmg4c39404s57yd8nl01-source#handlers.aarch64-linux.default";
    maxBuildTime = "10m0s";
    maxEvalTime = "5m0s";
    maxRequestBytes = 33554432;
    maxRequestTime = "5m0s";
    maxResponseBytes = 134217728;
    maxRunTime = "10m0s";
    nixArgs = [ ];
    runArgs = [ ];
    verbose = 10;
  };
  path = "/";
  proto = "HTTP/2.0";
  query = { };
  remoteAddr = "37.19.207.37:56455";
  tls = {
    cipherSuite = "TLS_AES_128_GCM_SHA256";
    didResume = false;
    handshakeComplete = true;
    negotiatedProtocol = "h2";
    peerCertificates = [ ];
    serverName = "origin.nixpresso.dev";
    verifiedChains = [ ];
    version = "TLS 1.3";
  };
  uri = "/template/";
}