INNER CODE UNIT · TypeScript
json
harvard-edge/cs249r_book · interviews/staffml-vault-worker/src/index.ts:143
function json(
body: unknown,
init: ResponseInit & {
etag?: string;
degradedReason?: string;
releaseId?: string;
cacheControl?: string;
} = {},
): Response {
const headers = new Headers({
"Content-Type": "application/json; charset=utf-8",
...(init.headers as Record<string, string> | undefined),
});
if (init.etag) headers.set("ETag", init.etag);
if (init.releaseId) headers.set("X-Vault-Release", init.releaseId);
if (init.degradedReason) headers.set("X-Vault-Degraded", init.degradedReason);
if (init.cacheControl) headers.set("Cache-Control", init.cacheControl);
return new Response(JSON.stringify(body), { status: init.status ?? 200, headers });