"""Uniform JSON error handlers.""" from __future__ import annotations from flask import Flask, jsonify from werkzeug.exceptions import HTTPException def register_error_handlers(app: Flask) -> None: @app.errorhandler(HTTPException) def handle_http_exception(exc: HTTPException): response = jsonify({"error": exc.description}) response.status_code = exc.code or 500 return response @app.errorhandler(404) def handle_404(_exc): return jsonify({"error": "Not found"}), 404 @app.errorhandler(405) def handle_405(_exc): return jsonify({"error": "Method not allowed"}), 405