# Quotes API from fastapi import FastAPI, Request from slowapi.util import get_ipaddr from slowapi.errors import RateLimitExceeded from slowapi import Limiter, _rate_limit_exceeded_handler import json def get_quotes(): return json.load(open('quotes.json', 'r')) app = FastAPI() limiter = Limiter(key_func = get_ipaddr) app.state.limiter = limiter app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler) @app.get('/') @limiter.limit('10/minute') def home(request: Request): return {'msg': 'Hello, World'} @app.get('/quotes') @limiter.limit('10/minute') def quote(request: Request): return get_quotes()
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter