vendor/fesor/request-objects/src/Bundle/RequestObjectEventListener.php line 22

Open in your IDE?
  1. <?php
  2. namespace Fesor\RequestObject\Bundle;
  3. use Fesor\RequestObject\RequestObjectBinder;
  4. use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
  5. class RequestObjectEventListener
  6. {
  7.     private $requestBinder;
  8.     /**
  9.      * RequestObjectEventListener constructor.
  10.      *
  11.      * @param RequestObjectBinder $requestBinder
  12.      */
  13.     public function __construct(RequestObjectBinder $requestBinder)
  14.     {
  15.         $this->requestBinder $requestBinder;
  16.     }
  17.     public function onKernelController(FilterControllerEvent $event)
  18.     {
  19.         $request $event->getRequest();
  20.         $controller $event->getController();
  21.         $errorResponse $this->requestBinder->bind($request$controller);
  22.         if (null === $errorResponse) {
  23.             return;
  24.         }
  25.         $event->setController(function () use ($errorResponse) {
  26.             return $errorResponse;
  27.         });
  28.     }
  29. }