mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
import { createLogger } from "./createLogger.js";
|
|
import {
|
|
createEventHandler
|
|
} from "./event-handler/index.js";
|
|
import { sign, verify } from "@octokit/webhooks-methods";
|
|
import { verifyAndReceive } from "./verify-and-receive.js";
|
|
import { createNodeMiddleware } from "./middleware/node/index.js";
|
|
import { emitterEventNames } from "./generated/webhook-names.js";
|
|
class Webhooks {
|
|
sign;
|
|
verify;
|
|
on;
|
|
onAny;
|
|
onError;
|
|
removeListener;
|
|
receive;
|
|
verifyAndReceive;
|
|
constructor(options) {
|
|
if (!options || !options.secret) {
|
|
throw new Error("[@octokit/webhooks] options.secret required");
|
|
}
|
|
const state = {
|
|
eventHandler: createEventHandler(options),
|
|
secret: options.secret,
|
|
additionalSecrets: options.additionalSecrets,
|
|
hooks: {},
|
|
log: createLogger(options.log)
|
|
};
|
|
this.sign = sign.bind(null, options.secret);
|
|
this.verify = verify.bind(null, options.secret);
|
|
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 = verifyAndReceive.bind(null, state);
|
|
}
|
|
}
|
|
export {
|
|
Webhooks,
|
|
createEventHandler,
|
|
createNodeMiddleware,
|
|
emitterEventNames
|
|
};
|