From cbd72f10b899e0ed55f33aba64dd6e1da34a77e2 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Wed, 13 Aug 2025 20:09:48 +0300 Subject: [PATCH] Features: 1) Add detailed traceback in error response for DEBUG mode; 2) Include received `encoded_uuid` in server error responses for better debugging; Fixes: 1) Update error responses to use camelized keys consistently; Extra: 1) Add missing traceback import; 2) Improve error handling for digital asset downloads; --- core/views.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/views.py b/core/views.py index a7235296..58c494b3 100644 --- a/core/views.py +++ b/core/views.py @@ -1,5 +1,6 @@ import mimetypes import os +import traceback import uuid as uuid_module import requests @@ -491,15 +492,21 @@ def download_digital_asset_view(request, *args, **kwargs): return response except BadRequest as e: - return JsonResponse({"error": str(e)}, status=400) + return JsonResponse(camelize({"error": str(e)}), status=400) except DigitalAssetDownload.DoesNotExist: - return JsonResponse({"error": "Digital asset not found"}, status=404) + return JsonResponse(camelize({"error": "Digital asset not found"}), status=404) except Exception as e: capture_exception(e) return JsonResponse( - {"error": "An error occurred while trying to download the digital asset"}, + camelize( + { + "error": "An error occurred while trying to download the digital asset", + "traceback": traceback.format_exc() if settings.DEBUG else None, + "received": {"encoded_uuid": kwargs.get("encoded_uuid", "")}, + } + ), status=500, )