getWebhookDsn(); if (null !== $webhookDsn && 0 !== count($webhookDsn)) { foreach ($webhookDsn as $dsnString) { $dsn = new Dsn($dsnString); $scheme = $dsn->getScheme(); $webhookScheme = WebhookScheme::tryFrom($scheme); if (null !== $webhookScheme) { $transportFactoryClass = $webhookScheme->getChatTransportFactory(); /** @var AbstractTransportFactory $transportFactory */ $transportFactory = new $transportFactoryClass(); try { $transportFactory->create($dsn)->send($notification->asChatMessage(new Recipient())); $this->logger->info('Chat message sent with {schema} for Watchlist {token}', [ 'scheme' => $webhookScheme->name, 'token' => $watchList->getToken(), ]); } catch (\Throwable) { $this->logger->error('Unable to send a chat message to {scheme} for Watchlist {token}', [ 'scheme' => $webhookScheme->name, 'token' => $watchList->getToken(), ]); } } } } } }