Skip to content

Commit 80c24eb

Browse files
committed
Use filter
1 parent b7ee8df commit 80c24eb

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/bots/webhook.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,11 @@ async function filterAlreadyDeliveredWebhook(req: Request) {
4444
}
4545

4646
/**
47-
* Filters for requests and sends back corresponding error.
48-
* @param req The incoming request.
47+
* Filters for requests and, if required sends corresponding error.
4948
* @param secret The Webhook secret.
50-
* @returns Status code and error message.
5149
*/
52-
function filterHook(secret: string): (req: Request, res: Response, next: NextFunction) => void {
53-
return (req: Request, res: Response, next: NextFunction) => {
50+
function filterHook(secret: string): (req: Request, res: Response, next: NextFunction) => Promise<void> {
51+
return async (req: Request, res: Response, next: NextFunction) => {
5452
// TODO: Check for duplicate delivery ID
5553
let filter;
5654
if (!req.is("application/json")) {
@@ -65,6 +63,9 @@ function filterHook(secret: string): (req: Request, res: Response, next: NextFun
6563
if (req.headers["x-secret"] !== secret) {
6664
filter = { code: 412, msg: "X-Secret header incorrect" };
6765
}
66+
if (await filterAlreadyDeliveredWebhook(req)) {
67+
filter = { code: 200, msg: "Webhook already delivered" };
68+
}
6869

6970
if (filter) {
7071
Logger.log(`Webhook filtered: ${filter}`);

0 commit comments

Comments
 (0)