![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/symfony/messenger/Middleware/ |
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <[email protected]> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Messenger\Middleware; use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Exception\ValidationFailedException; use Symfony\Component\Messenger\Stamp\ValidationStamp; use Symfony\Component\Validator\Validator\ValidatorInterface; /** * @author Tobias Nyholm <[email protected]> */ class ValidationMiddleware implements MiddlewareInterface { private $validator; public function __construct(ValidatorInterface $validator) { $this->validator = $validator; } /** * {@inheritdoc} */ public function handle(Envelope $envelope, StackInterface $stack): Envelope { $message = $envelope->getMessage(); $groups = null; /** @var ValidationStamp|null $validationStamp */ if ($validationStamp = $envelope->last(ValidationStamp::class)) { $groups = $validationStamp->getGroups(); } $violations = $this->validator->validate($message, null, $groups); if (\count($violations)) { throw new ValidationFailedException($message, $violations); } return $stack->next()->handle($envelope, $stack); } }