Gradii commited on
Commit
ea1eac0
·
1 Parent(s): f4cb174
Files changed (1) hide show
  1. backend/app/api/routes.py +3 -4
backend/app/api/routes.py CHANGED
@@ -1,6 +1,7 @@
1
  import logging
2
  from fastapi import APIRouter, HTTPException, Request, status
3
  from slowapi.errors import RateLimitExceeded
 
4
 
5
  from app.models.schemas import (
6
  AnalysisRequest,
@@ -123,13 +124,11 @@ async def get_discord_guild_config(guild_id: str):
123
  )
124
  async def analyze(request: Request, payload: AnalysisRequest) -> AnalysisResponse:
125
  guild_id = payload.guild_id
 
126
 
127
- try:
128
- limiter.try_increment(f"analyze:{guild_id}", "1/5seconds")
129
- except RateLimitExceeded:
130
  raise HTTPException(status_code=429, detail="Rate limit exceeded for this guild")
131
 
132
-
133
  if isinstance(payload, TextAnalysisRequest):
134
  content_type = "text"
135
  elif isinstance(payload, ImageAnalysisRequest):
 
1
  import logging
2
  from fastapi import APIRouter, HTTPException, Request, status
3
  from slowapi.errors import RateLimitExceeded
4
+ from limits import parse
5
 
6
  from app.models.schemas import (
7
  AnalysisRequest,
 
124
  )
125
  async def analyze(request: Request, payload: AnalysisRequest) -> AnalysisResponse:
126
  guild_id = payload.guild_id
127
+ limit_item = parse("1/5seconds")
128
 
129
+ if not limiter.limiter.hit(limit_item, f"analyze:{guild_id}"):
 
 
130
  raise HTTPException(status_code=429, detail="Rate limit exceeded for this guild")
131
 
 
132
  if isinstance(payload, TextAnalysisRequest):
133
  content_type = "text"
134
  elif isinstance(payload, ImageAnalysisRequest):