Complete the code to import the Flask-Limiter extension.
from flask_limiter import [1]
The Flask-Limiter extension is imported using Limiter.
Complete the code to create a Flask app and initialize Limiter with a default rate limit of 5 per minute.
app = Flask(__name__) limiter = Limiter(app, default_limits=["[1]"])
The default rate limit is set as a string like '5 per minute' to limit requests to 5 each minute.
Fix the error in the route decorator to apply a rate limit of 3 per minute.
@app.route("/") @limiter.limit("[1]") def home(): return "Hello!"
The rate limit string must be '3 per minute' to limit to 3 requests each minute.
Fill both blanks to create a rate limit key function that limits by remote address.
limiter = Limiter(app, key_func=[1], default_limits=["10 per minute"]) @app.route("/data") @limiter.limit("5 per minute", key_func=[2]) def data(): return "Data"
The function get_remote_address is used by Flask-Limiter to get the client's IP address for rate limiting.
Fill all three blanks to create a custom error message for rate limit exceeded.
from flask import Flask, jsonify from flask_limiter import Limiter from flask_limiter.util import get_remote_address app = Flask(__name__) limiter = Limiter(app, key_func=get_remote_address, default_limits=["5 per minute"]) @app.errorhandler([1]) def ratelimit_handler(e): return jsonify(error="[2]"), [3]
The HTTP status code for rate limit exceeded is 429. The error message is a friendly string. The handler returns status code 429.