@clerk/express
Version:
Clerk server SDK for usage with Express
32 lines (31 loc) • 988 B
JavaScript
import {
incomingMessageToRequest
} from "./chunk-T3MW5TRG.mjs";
// src/webhooks.ts
import { verifyWebhook as verifyWebhookBase } from "@clerk/backend/webhooks";
export * from "@clerk/backend/webhooks";
async function verifyWebhook(req, options) {
const webRequest = incomingMessageToRequest(req);
let serializedBody;
if (typeof req.body === "string") {
serializedBody = req.body;
} else if (Buffer.isBuffer(req.body)) {
serializedBody = req.body.toString("utf8");
} else if (req.body === void 0 || req.body === null) {
serializedBody = "";
} else {
try {
serializedBody = JSON.stringify(req.body);
} catch (error) {
throw new Error(`Failed to serialize request body: ${error instanceof Error ? error.message : "Unknown error"}`);
}
}
const clonedRequest = new Request(webRequest, {
body: serializedBody
});
return verifyWebhookBase(clonedRequest, options);
}
export {
verifyWebhook
};
//# sourceMappingURL=webhooks.mjs.map