<?php
declare(strict_types=1);
namespace App\EventListener;
use App\Generator\Logger\ApiLoggerResponseGenerator;
use App\Validator\Api\ApiLoggerVerifier;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
#[AsEventListener(priority: -1030)]
class LogApiResponseListener
{
public function __construct(
private ApiLoggerVerifier $apiLoggerVerifier,
private ApiLoggerResponseGenerator $apiLoggerResponseGenerator,
) {
}
public function __invoke(ResponseEvent $event): void
{
if (!$this->apiLoggerVerifier->verify()) {
return;
}
$this->apiLoggerResponseGenerator->generate($event->getResponse());
}
}