From 7e358241e7a8a2b07defdacb6f63b3591249f694 Mon Sep 17 00:00:00 2001 From: Songming Fan Date: Mon, 18 Aug 2025 14:33:34 -0400 Subject: [PATCH] Fixes Simulation API runs that complete with 500 errors cause the API to respond with 200 and a result of None --- policyengine_api/routes/economy_routes.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/policyengine_api/routes/economy_routes.py b/policyengine_api/routes/economy_routes.py index c0de06730..8db426cc8 100644 --- a/policyengine_api/routes/economy_routes.py +++ b/policyengine_api/routes/economy_routes.py @@ -57,6 +57,13 @@ def get_economic_impact( economic_impact_result.to_dict() ) + if result_dict["status"] == "error": + http_status = 500 + elif result_dict["status"] == "computing": + http_status = 202 + else: + http_status = 200 + return Response( json.dumps( { @@ -65,6 +72,6 @@ def get_economic_impact( "result": result_dict["data"], } ), - status=200, + status=http_status, mimetype="application/json", )