Files
codeql-action/node_modules/@octokit/webhooks/dist-src/verify-and-receive.js
2025-02-19 11:13:12 -08:00

34 lines
848 B
JavaScript

import { verifyWithFallback } from "@octokit/webhooks-methods";
async function verifyAndReceive(state, event) {
const matchesSignature = await verifyWithFallback(
state.secret,
event.payload,
event.signature,
state.additionalSecrets
).catch(() => false);
if (!matchesSignature) {
const error = new Error(
"[@octokit/webhooks] signature does not match event payload and secret"
);
return state.eventHandler.receive(
Object.assign(error, { event, status: 400 })
);
}
let payload;
try {
payload = JSON.parse(event.payload);
} catch (error) {
error.message = "Invalid JSON";
error.status = 400;
throw new AggregateError([error], error.message);
}
return state.eventHandler.receive({
id: event.id,
name: event.name,
payload
});
}
export {
verifyAndReceive
};