![]() 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/Transport/ |
<?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\Transport; use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface; use Symfony\Contracts\Service\ResetInterface; /** * @author Gary PEGEOT <[email protected]> */ class InMemoryTransportFactory implements TransportFactoryInterface, ResetInterface { /** * @var InMemoryTransport[] */ private $createdTransports = []; public function createTransport(string $dsn, array $options, SerializerInterface $serializer): TransportInterface { ['serialize' => $serialize] = $this->parseDsn($dsn); return $this->createdTransports[] = new InMemoryTransport($serialize ? $serializer : null); } public function supports(string $dsn, array $options): bool { return str_starts_with($dsn, 'in-memory://'); } public function reset() { foreach ($this->createdTransports as $transport) { $transport->reset(); } } private function parseDsn(string $dsn): array { $query = []; if ($queryAsString = strstr($dsn, '?')) { parse_str(ltrim($queryAsString, '?'), $query); } return [ 'serialize' => filter_var($query['serialize'] ?? false, \FILTER_VALIDATE_BOOLEAN), ]; } }