UNPKG

mailersend

Version:

Node.js helper module for MailerSend API

22 lines (21 loc) 819 B
"use strict"; 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;