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;
This commit is contained in:
Egor Pavlovich Gorbunov 2025-08-13 20:09:48 +03:00
parent e7bfa87e74
commit cbd72f10b8

View file

@ -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,
)