src/Base/Controller/Api/ApiExceptionFormatter.php line 32
<?php/*** Created by PhpStorm.* User: Shokhaa* Date: 4/5/21* Time: 10:16 AM*/declare(strict_types=1);namespace App\Base\Controller\Api;use DomainException;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\HttpFoundation\JsonResponse;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\HttpKernel\Event\ExceptionEvent;use Symfony\Component\HttpKernel\KernelEvents;class ApiExceptionFormatter implements EventSubscriberInterface{public function __construct(private readonly ErrorHandler $errors){}public static function getSubscribedEvents(): array{return [KernelEvents::EXCEPTION => 'onKernelException'];}public function onKernelException(ExceptionEvent $event): void{$exception = $event->getThrowable();$request = $event->getRequest();if (!$exception instanceof DomainException) {return;}if (!str_starts_with($request->attributes->get('_route'), 'api.')) {return;}$this->errors->handle($exception);$event->setResponse(new JsonResponse(['error' => ['code' => Response::HTTP_BAD_REQUEST,'message' => $exception->getMessage()]], Response::HTTP_BAD_REQUEST));}}