use Exception;
use Illuminate\Http\JsonResponse;
+use Illuminate\Contracts\Support\Responsable;
-class JsonDebugException extends Exception
+class JsonDebugException extends Exception implements Responsable
{
protected array $data;
}
/**
- * Covert this exception into a response.
+ * Convert this exception into a response.
+ * We add a manual data conversion to UTF8 to ensure any binary data is presentable as a JSON string.
*/
- public function render(): JsonResponse
+ public function toResponse($request): JsonResponse
{
- return response()->json($this->data);
+ $cleaned = mb_convert_encoding($this->data, 'UTF-8');
+
+ return response()->json($cleaned);
}
}