FestinHegre/vendor/symfony/messenger/Message/RedispatchMessage.php
2024-09-26 17:26:04 +02:00

35 lines
1.0 KiB
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Messenger\Message;
use Symfony\Component\Messenger\Envelope;
final class RedispatchMessage implements \Stringable
{
/**
* @param object|Envelope $envelope The message or the message pre-wrapped in an envelope
* @param string[]|string $transportNames Transport names to be used for the message
*/
public function __construct(
public readonly object $envelope,
public readonly array|string $transportNames = [],
) {
}
public function __toString(): string
{
$message = $this->envelope instanceof Envelope ? $this->envelope->getMessage() : $this->envelope;
return sprintf('%s via %s', $message instanceof \Stringable ? (string) $message : $message::class, implode(', ', (array) $this->transportNames));
}
}