From 80d1b3355a4d8c93c4bc7b042499f4a0dcc5f687 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Wed, 29 Apr 2026 01:26:59 -0400 Subject: [PATCH] Fix swallowing HTTP errors --- app.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index cc40bed..95b15ed 100755 --- a/app.py +++ b/app.py @@ -12,6 +12,7 @@ from typing import Any from earwigbot.wiki.copyvios import globalize from flask import make_response, redirect, render_template, request, session from werkzeug import Response +from werkzeug.exceptions import HTTPException from copyvios import app from copyvios.api import format_api_error, handle_api_request @@ -46,11 +47,14 @@ globalize(num_workers=8) @app.errorhandler(Exception) -def handle_errors(exc: Exception) -> AnyResponse: +def handle_errors(exc: Exception) -> AnyResponse | HTTPException: + if isinstance(exc, HTTPException): + return exc if app.debug: raise # Use built-in debugger app.logger.exception("Caught exception:") - return render_template("error.html.jinja", traceback=traceback.format_exc()) + error_page = render_template("error.html.jinja", traceback=traceback.format_exc()) + return make_response(error_page, 500) @app.context_processor