INNER CODE UNIT · TypeScript

enforceCreateRateLimits

Hash-Studios/Prism · infra/cloudflare/worker/src/index.ts:300

async function enforceCreateRateLimits(ip: string, env: Env): Promise<boolean> {
  const tenMinuteOk = await bumpRateCounter(env, `rl:10m:${ip}`, 20, 600);
  if (!tenMinuteOk) {
    return false;
  }
  return bumpRateCounter(env, `rl:1d:${ip}`, 200, 86400);
}

async function bumpRateCounter(env: Env, key: string, limit: number, ttlSeconds: number): Promise<boolean> {
  const existing = await env.LINKS_KV.get(key);
  const current = Number.parseInt(existing ?? '0', 10);
  if (current >= limit) {
    return false;
  }
  await env.LINKS_KV.put(key, String(current + 1), { expirationTtl: ttlSeconds });
  return true;
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…