Skip to content

Commit 0ff0a39

Browse files
committed
Use filter
1 parent b7ee8df commit 0ff0a39

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/bots/webhook.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +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) => {
54-
// TODO: Check for duplicate delivery ID
50+
function filterHook(secret: string): (req: Request, res: Response, next: NextFunction) => Promise<void> {
51+
return async (req: Request, res: Response, next: NextFunction) => {
5552
let filter;
5653
if (!req.is("application/json")) {
5754
filter = { code: 400, msg: "Content-Type is not application/json" };
@@ -65,6 +62,9 @@ function filterHook(secret: string): (req: Request, res: Response, next: NextFun
6562
if (req.headers["x-secret"] !== secret) {
6663
filter = { code: 412, msg: "X-Secret header incorrect" };
6764
}
65+
if (await filterAlreadyDeliveredWebhook(req)) {
66+
filter = { code: 200, msg: "Webhook already delivered" };
67+
}
6868

6969
if (filter) {
7070
Logger.log(`Webhook filtered: ${filter}`);

0 commit comments

Comments
 (0)