diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 00abd608011c6..0e68929d168c8 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -2594,7 +2594,9 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $ if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages, true) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages, true) && \in_array(MercureBundle::class, $container->getParameter('kernel.bundles'), true)) { $container->getDefinition($classToServices[MercureTransportFactory::class]) - ->replaceArgument('$registry', new Reference(HubRegistry::class)); + ->replaceArgument('$registry', new Reference(HubRegistry::class)) + ->replaceArgument('$client', new Reference('http_client')) + ->replaceArgument('$dispatcher', new Reference('event_dispatcher')); } elseif (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages, true)) { $container->removeDefinition($classToServices[MercureTransportFactory::class]); } @@ -2602,13 +2604,17 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $ if (ContainerBuilder::willBeAvailable('symfony/fake-chat-notifier', FakeChatTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'], true)) { $container->getDefinition($classToServices[FakeChatTransportFactory::class]) ->replaceArgument('$mailer', new Reference('mailer')) - ->replaceArgument('$logger', new Reference('logger')); + ->replaceArgument('$logger', new Reference('logger')) + ->replaceArgument('$client', new Reference('http_client')) + ->replaceArgument('$dispatcher', new Reference('event_dispatcher')); } if (ContainerBuilder::willBeAvailable('symfony/fake-sms-notifier', FakeSmsTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'], true)) { $container->getDefinition($classToServices[FakeSmsTransportFactory::class]) ->replaceArgument('$mailer', new Reference('mailer')) - ->replaceArgument('$logger', new Reference('logger')); + ->replaceArgument('$logger', new Reference('logger')) + ->replaceArgument('$client', new Reference('http_client')) + ->replaceArgument('$dispatcher', new Reference('event_dispatcher')); } if (isset($config['admin_recipients'])) { diff --git a/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatTransportFactory.php b/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatTransportFactory.php index 9b55acb99a00f..d8467665b48fd 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatTransportFactory.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatTransportFactory.php @@ -17,6 +17,8 @@ use Symfony\Component\Notifier\Transport\AbstractTransportFactory; use Symfony\Component\Notifier\Transport\Dsn; use Symfony\Component\Notifier\Transport\TransportInterface; +use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; +use Symfony\Contracts\HttpClient\HttpClientInterface; /** * @author Oskar Stark @@ -27,9 +29,9 @@ final class FakeChatTransportFactory extends AbstractTransportFactory protected $mailer; protected $logger; - public function __construct(MailerInterface $mailer, LoggerInterface $logger) + public function __construct(MailerInterface $mailer, LoggerInterface $logger, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null) { - parent::__construct(); + parent::__construct($dispatcher, $client); $this->mailer = $mailer; $this->logger = $logger; @@ -47,11 +49,11 @@ public function create(Dsn $dsn): TransportInterface $to = $dsn->getRequiredOption('to'); $from = $dsn->getRequiredOption('from'); - return (new FakeChatEmailTransport($this->mailer, $to, $from))->setHost($mailerTransport); + return (new FakeChatEmailTransport($this->mailer, $to, $from, $this->client, $this->dispatcher))->setHost($mailerTransport); } if ('fakechat+logger' === $scheme) { - return new FakeChatLoggerTransport($this->logger); + return new FakeChatLoggerTransport($this->logger, $this->client, $this->dispatcher); } throw new UnsupportedSchemeException($dsn, 'fakechat', $this->getSupportedSchemes()); diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsTransportFactory.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsTransportFactory.php index 55f2162d641d5..f809ce6ad0787 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsTransportFactory.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsTransportFactory.php @@ -17,6 +17,8 @@ use Symfony\Component\Notifier\Transport\AbstractTransportFactory; use Symfony\Component\Notifier\Transport\Dsn; use Symfony\Component\Notifier\Transport\TransportInterface; +use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; +use Symfony\Contracts\HttpClient\HttpClientInterface; /** * @author James Hemery @@ -28,9 +30,9 @@ final class FakeSmsTransportFactory extends AbstractTransportFactory protected $mailer; protected $logger; - public function __construct(MailerInterface $mailer, LoggerInterface $logger) + public function __construct(MailerInterface $mailer, LoggerInterface $logger, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null) { - parent::__construct(); + parent::__construct($dispatcher, $client); $this->mailer = $mailer; $this->logger = $logger; @@ -48,11 +50,11 @@ public function create(Dsn $dsn): TransportInterface $to = $dsn->getRequiredOption('to'); $from = $dsn->getRequiredOption('from'); - return (new FakeSmsEmailTransport($this->mailer, $to, $from))->setHost($mailerTransport); + return (new FakeSmsEmailTransport($this->mailer, $to, $from, $this->client, $this->dispatcher))->setHost($mailerTransport); } if ('fakesms+logger' === $scheme) { - return new FakeSmsLoggerTransport($this->logger); + return new FakeSmsLoggerTransport($this->logger, $this->client, $this->dispatcher); } throw new UnsupportedSchemeException($dsn, 'fakesms', $this->getSupportedSchemes()); diff --git a/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransportFactory.php b/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransportFactory.php index 5bdabcc58b708..f3dc556c52fbf 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransportFactory.php +++ b/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransportFactory.php @@ -18,6 +18,8 @@ use Symfony\Component\Notifier\Transport\AbstractTransportFactory; use Symfony\Component\Notifier\Transport\Dsn; use Symfony\Component\Notifier\Transport\TransportInterface; +use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; +use Symfony\Contracts\HttpClient\HttpClientInterface; /** * @author Mathias Arlaud @@ -26,9 +28,9 @@ final class MercureTransportFactory extends AbstractTransportFactory { private $registry; - public function __construct(HubRegistry $registry) + public function __construct(HubRegistry $registry, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null) { - parent::__construct(); + parent::__construct($dispatcher, $client); $this->registry = $registry; } @@ -51,7 +53,7 @@ public function create(Dsn $dsn): TransportInterface throw new IncompleteDsnException(sprintf('Hub "%s" not found. Did you mean one of: "%s"?', $hubId, implode('", "', array_keys($this->registry->all())))); } - return new MercureTransport($hub, $hubId, $topic); + return new MercureTransport($hub, $hubId, $topic, $this->client, $this->dispatcher); } protected function getSupportedSchemes(): array