mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-10-09 03:18:04 +00:00
added ratelimits
This commit is contained in:
parent
bb98d22f7a
commit
5d507ef7ed
6 changed files with 41 additions and 0 deletions
1
apps/web/env.d.ts
vendored
1
apps/web/env.d.ts
vendored
|
|
@ -5,6 +5,7 @@ declare global {
|
|||
DATABASE: D1Database;
|
||||
VECTORIZE_INDEX: VectorizeIndex;
|
||||
AI: any;
|
||||
RATELIMITER: any;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,14 @@ export async function POST(req: NextRequest) {
|
|||
req.cookies.get("authjs.session-token")?.value ??
|
||||
req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
const { success } = await process.env.RATELIMITER.limit({ key: token });
|
||||
|
||||
if (!success) {
|
||||
return new Response(JSON.stringify({ message: "Rate limit exceeded" }), {
|
||||
status: 429,
|
||||
});
|
||||
}
|
||||
|
||||
const sessionData = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,14 @@ export async function POST(req: NextRequest) {
|
|||
req.cookies.get("authjs.session-token")?.value ??
|
||||
req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
const { success } = await process.env.RATELIMITER.limit({ key: token });
|
||||
|
||||
if (!success) {
|
||||
return new Response(JSON.stringify({ message: "Rate limit exceeded" }), {
|
||||
status: 429,
|
||||
});
|
||||
}
|
||||
|
||||
const sessionData = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,14 @@ export async function GET(req: NextRequest) {
|
|||
req.cookies.get("authjs.session-token")?.value ??
|
||||
req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
const { success } = await process.env.RATELIMITER.limit({ key: token });
|
||||
|
||||
if (!success) {
|
||||
return new Response(JSON.stringify({ message: "Rate limit exceeded" }), {
|
||||
status: 429,
|
||||
});
|
||||
}
|
||||
|
||||
const sessionData = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
|
|
|
|||
|
|
@ -27,6 +27,14 @@ export async function POST(req: NextRequest) {
|
|||
);
|
||||
}
|
||||
|
||||
const { success } = await process.env.RATELIMITER.limit({ key: token });
|
||||
|
||||
if (!success) {
|
||||
return new Response(JSON.stringify({ message: "Rate limit exceeded" }), {
|
||||
status: 429,
|
||||
});
|
||||
}
|
||||
|
||||
const sessionData = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
|
|
|
|||
|
|
@ -10,3 +10,11 @@ index_name = "anycontext-idx"
|
|||
binding = "DATABASE"
|
||||
database_name = "dev-d1-anycontext"
|
||||
database_id = "fc562605-157a-4f60-b439-2a24ffed5b4c"
|
||||
|
||||
[[unsafe.bindings]]
|
||||
name = "RATELIMITER"
|
||||
type = "ratelimit"
|
||||
namespace_id = "1001"
|
||||
|
||||
# 25 requests per 10 seconds
|
||||
simple = { limit = 25, period = 10 }
|
||||
Loading…
Add table
Reference in a new issue