Skip to content

Commit 040d8ab

Browse files
author
Chats
committed
refactor rate_limit function
1 parent cd68630 commit 040d8ab

File tree

1 file changed

+9
-17
lines changed

1 file changed

+9
-17
lines changed

src/utils/middleware/rate_limit.py

+9-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
1-
import src.utils.log as log
21
from fastapi.requests import Request
3-
from fastapi.responses import JSONResponse
2+
from fastapi.responses import PlainTextResponse as PTR
43
import re
54

65

7-
async def cutoff(request: Request, call_next):
8-
regex_pattern = r"Helldivers%20Companion.*CFNetwork.*Darwin"
6+
async def rate_limit(request: Request, call_next):
7+
regex_patterns = [r"Helldivers%20Companion.*", r"Heckdiver.*"]
8+
client_id = request.headers.get("User-Agent", request.headers.get("X-Super-Client"))
99

10-
decode_format = "utf-8"
11-
raw_query_str = request.headers.get("User-Agent", "")
12-
if re.search(regex_pattern, raw_query_str):
13-
response = JSONResponse(
14-
status_code=429,
15-
content={
16-
"limited": "Contact @chatterchats on Discord.",
17-
},
18-
)
19-
return response
20-
else:
21-
response = await call_next(request)
22-
return response
10+
for pattern in regex_patterns:
11+
if re.search(pattern, client_id):
12+
return PTR(status_code=429, content="", headers={"content-type": ""})
13+
14+
return await call_next(request)

0 commit comments

Comments
 (0)