UNPKG

next-sanity

Version:
26 lines (25 loc) 958 B
import { SIGNATURE_HEADER_NAME, isValidSignature } from "@sanity/webhook"; /** * Handles parsing the body JSON, and validating its signature. Also waits for Content Lake eventual consistency so you can run your queries * without worrying about getting stale data. * @public */ async function parseBody(req, secret, waitForContentLakeEventualConsistency = true) { const signature = req.headers.get(SIGNATURE_HEADER_NAME); if (!signature) { console.error("Missing signature header"); return { body: null, isValidSignature: null }; } const body = await req.text(); const validSignature = secret ? await isValidSignature(body, signature, secret.trim()) : null; if (validSignature !== false && waitForContentLakeEventualConsistency) await new Promise((resolve) => setTimeout(resolve, 3e3)); return { body: body.trim() ? JSON.parse(body) : null, isValidSignature: validSignature }; } export { parseBody }; //# sourceMappingURL=index.js.map