<?php
declare(strict_types=1);
namespace App\EventListener\Api;
use App\Service\EnvironmentService;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
class ApiExceptionListener
{
protected EnvironmentService $environmentService;
public function __construct(EnvironmentService $environmentService)
{
$this->environmentService = $environmentService;
}
public function onKernelException(ExceptionEvent $event): void
{
if (!$this->environmentService->isApi()) {
return;
}
$event->setResponse(
new JsonResponse(
[
'code' => 'Bad request',
'message' => Response::HTTP_BAD_REQUEST,
],
Response::HTTP_BAD_REQUEST
)
);
}
}