File size: 522 Bytes
1dded5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { Hono } from "jsr:@hono/hono";
import { BlankEnv, BlankSchema } from "jsr:@hono/hono/types";

import { rateLimiter } from "npm:hono-rate-limiter";

function limit(app: Hono<BlankEnv, BlankSchema, "/">) {
  const limit_var = Deno.env.get("LIMIT");
  let limit = 2;
  if (limit_var !== undefined) {
    limit = Number(limit_var);
  }
  const limiter = rateLimiter({
    windowMs: 1000,
    limit,
    standardHeaders: "draft-6",
    keyGenerator: (_) => "1",
  });

  app.use("/v1/*", limiter);
}

export { limit };