mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-09-07 00:17:12 +08:00
refactor: inline user send rate limit path
This commit is contained in:
@@ -74,12 +74,15 @@ app.use('/*', async (c, next) => {
|
|||||||
) {
|
) {
|
||||||
const reqIp = c.req.raw.headers.get("cf-connecting-ip")
|
const reqIp = c.req.raw.headers.get("cf-connecting-ip")
|
||||||
if (reqIp && c.env.RATE_LIMITER) {
|
if (reqIp && c.env.RATE_LIMITER) {
|
||||||
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(
|
const { success } = await c.env.RATE_LIMITER.limit(
|
||||||
{ key: `${rateLimitPath}|${reqIp}` }
|
{
|
||||||
|
key: `${
|
||||||
|
c.req.path.startsWith("/user_api/address/")
|
||||||
|
&& c.req.path.endsWith("/send_mail")
|
||||||
|
? "/user_api/address/:address_id/send_mail"
|
||||||
|
: c.req.path
|
||||||
|
}|${reqIp}`
|
||||||
|
}
|
||||||
)
|
)
|
||||||
if (!success) {
|
if (!success) {
|
||||||
return c.text(`IP=${reqIp} Rate limit exceeded for ${c.req.path}`, 429)
|
return c.text(`IP=${reqIp} Rate limit exceeded for ${c.req.path}`, 429)
|
||||||
|
|||||||
Reference in New Issue
Block a user