1 | import { createLogger } from "./createLogger";
|
2 | import { createEventHandler } from "./event-handler/index";
|
3 | import { sign } from "./sign";
|
4 | import { verify } from "./verify";
|
5 | import { verifyAndReceive } from "./verify-and-receive";
|
6 | export { createNodeMiddleware } from "./middleware/node/index";
|
7 | export { emitterEventNames } from "./generated/webhook-names";
|
8 |
|
9 | class Webhooks {
|
10 | constructor(options) {
|
11 | if (!options || !options.secret) {
|
12 | throw new Error("[@octokit/webhooks] options.secret required");
|
13 | }
|
14 | const state = {
|
15 | eventHandler: createEventHandler(options),
|
16 | secret: options.secret,
|
17 | hooks: {},
|
18 | log: createLogger(options.log),
|
19 | };
|
20 | this.sign = sign.bind(null, options.secret);
|
21 | this.verify = verify.bind(null, options.secret);
|
22 | this.on = state.eventHandler.on;
|
23 | this.onAny = state.eventHandler.onAny;
|
24 | this.onError = state.eventHandler.onError;
|
25 | this.removeListener = state.eventHandler.removeListener;
|
26 | this.receive = state.eventHandler.receive;
|
27 | this.verifyAndReceive = verifyAndReceive.bind(null, state);
|
28 | }
|
29 | }
|
30 | export { createEventHandler, Webhooks, };
|