UNPKG

@octokit/webhooks

Version:

GitHub webhook events toolset for Node.js

41 lines (40 loc) 1.92 kB
import { createLogger } from "./createLogger"; import { createEventHandler } from "./event-handler/index"; import { sign } from "./sign"; import { verify } from "./verify"; import { verifyAndReceive } from "./verify-and-receive"; export { createNodeMiddleware } from "./middleware/node/index"; export { emitterEventNames } from "./generated/webhook-names"; // U holds the return value of `transform` function in Options class Webhooks { constructor(options) { if (!options || !options.secret) { throw new Error("[@octokit/webhooks] options.secret required"); } const state = { eventHandler: createEventHandler(options), secret: options.secret, hooks: {}, log: createLogger(options.log), }; this.sign = sign.bind(null, options.secret); this.verify = (eventPayload, signature) => { if (typeof eventPayload === "object") { console.warn("[@octokit/webhooks] Passing a JSON payload object to `verify()` is deprecated and the functionality will be removed in a future release of `@octokit/webhooks`"); } return verify(options.secret, eventPayload, signature); }; this.on = state.eventHandler.on; this.onAny = state.eventHandler.onAny; this.onError = state.eventHandler.onError; this.removeListener = state.eventHandler.removeListener; this.receive = state.eventHandler.receive; this.verifyAndReceive = (options) => { if (typeof options.payload === "object") { console.warn("[@octokit/webhooks] Passing a JSON payload object to `verifyAndReceive()` is deprecated and the functionality will be removed in a future release of `@octokit/webhooks`"); } return verifyAndReceive(state, options); }; } } export { createEventHandler, Webhooks, };