INNER CODE UNIT · TypeScript

handleManifest

harvard-edge/cs249r_book · interviews/staffml-vault-worker/src/index.ts:234

async function handleManifest(env: Env, req: Request): Promise<Response> {
  const origin = req.headers.get("Origin");
  const manifest = await getManifest(env);
  const etag = `"manifest:${manifest.release_id}:${manifest.release_hash.slice(0, 16)}"`;
  if (req.headers.get("If-None-Match") === etag) {
    return new Response(null, {
      status: 304,
      headers: { ETag: etag, ...corsHeaders(env, origin) },
    });
  }
  return json(manifest, {
    etag,
    releaseId: manifest.release_id,
    degradedReason: manifest.schema_fingerprint_ok ? undefined : "schema-fingerprint-mismatch",
    cacheControl: cacheControl(Number.parseInt(env.CACHE_TTL_MANIFEST, 10)),
    headers: corsHeaders(env, origin),
  });
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…