mailersend
Version:
Node.js helper module for MailerSend API
22 lines (21 loc) • 819 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MailerSendUtils = void 0;
const crypto_1 = require("crypto");
class MailerSendUtils {
static verifyWebHook(rawBody, signature, signingSecret) {
if (!signature) {
throw new Error("No signature provided");
}
if (!rawBody) {
throw new Error("No raw body provided");
}
if (!signingSecret) {
throw new Error("No secret provided");
}
const rawData = rawBody.toString("utf8");
const hmacSignature = (0, crypto_1.createHmac)("sha256", signingSecret).update(rawData, "utf8").digest("hex");
return (0, crypto_1.timingSafeEqual)(Buffer.from(signature), Buffer.from(hmacSignature));
}
}
exports.MailerSendUtils = MailerSendUtils;