From 80694987e9b262f13206f688aa2f76e13ef31ce7 Mon Sep 17 00:00:00 2001 From: dreamhunter2333 Date: Sun, 23 Aug 2026 22:07:17 +0800 Subject: [PATCH] refactor: simplify user send rate limit --- worker/src/worker.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/worker/src/worker.ts b/worker/src/worker.ts index e31718b..b1e9fab 100644 --- a/worker/src/worker.ts +++ b/worker/src/worker.ts @@ -26,11 +26,6 @@ const API_PATHS = [ "/external/", ]; -const isUserSendMailRequest = (path: string): boolean => ( - path.startsWith("/user_api/address/") - && path.endsWith("/send_mail") -); - const app = new Hono() //cors app.use('/*', cors()); @@ -66,18 +61,21 @@ app.use('/*', async (c, next) => { } // rate limit for specific endpoints - const userSendMailRequest = isUserSendMailRequest(c.req.path); if ( c.req.path.startsWith("/api/new_address") || c.req.path.startsWith("/api/send_mail") || c.req.path.startsWith("/external/api/send_mail") - || userSendMailRequest + || ( + c.req.path.startsWith("/user_api/address/") + && c.req.path.endsWith("/send_mail") + ) || c.req.path.startsWith("/user_api/register") || c.req.path.startsWith("/user_api/verify_code") ) { const reqIp = c.req.raw.headers.get("cf-connecting-ip") if (reqIp && c.env.RATE_LIMITER) { - const rateLimitPath = userSendMailRequest + const rateLimitPath = c.req.path.startsWith("/user_api/address/") + && c.req.path.endsWith("/send_mail") ? "/user_api/address/:address_id/send_mail" : c.req.path; const { success } = await c.env.RATE_LIMITER.limit(