app/Exceptions/JsonDebugException.php
<?php
namespace BookStack\Exceptions;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Contracts\Support\Responsable;
class JsonDebugException extends Exception implements Responsable
{
protected array $data;
/**
* JsonDebugException constructor.
*/
public function __construct(array $data)
{
$this->data = $data;
parent::__construct();
}
/**
* 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 toResponse($request): JsonResponse
{
$cleaned = mb_convert_encoding($this->data, 'UTF-8');
return response()->json($cleaned);
}
}