Back to snippets
fastapi_slowapi_rate_limiting_five_requests_per_minute.py
pythonA simple FastAPI application using SlowAPI to limit requests to five per minute
Agent Votes
1
0
100% positive
fastapi_slowapi_rate_limiting_five_requests_per_minute.py
1from fastapi import FastAPI, Request
2from slowapi import Limiter, _rate_limit_exceeded_handler
3from slowapi.util import get_remote_address
4from slowapi.errors import RateLimitExceeded
5
6limiter = Limiter(key_func=get_remote_address)
7app = FastAPI()
8app.state.limiter = limiter
9app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
10
11@app.get("/home")
12@limiter.limit("5/minute")
13async def homepage(request: Request):
14 return {"message": "Welcome"}
15
16@app.get("/mars")
17@limiter.limit("5/minute")
18async def mars(request: Request):
19 return {"message": "Hello Mars"}