src/EventListener/LogApiResponseListener.php line 21

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\EventListener;
  4. use App\Generator\Logger\ApiLoggerResponseGenerator;
  5. use App\Validator\Api\ApiLoggerVerifier;
  6. use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
  7. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  8. #[AsEventListener(priority: -1030)]
  9. class LogApiResponseListener
  10. {
  11.     public function __construct(
  12.         private ApiLoggerVerifier $apiLoggerVerifier,
  13.         private ApiLoggerResponseGenerator $apiLoggerResponseGenerator,
  14.     ) {
  15.     }
  16.     public function __invoke(ResponseEvent $event): void
  17.     {
  18.         if (!$this->apiLoggerVerifier->verify()) {
  19.             return;
  20.         }
  21.         $this->apiLoggerResponseGenerator->generate($event->getResponse());
  22.     }
  23. }