0 follower

Final Class Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope

InheritanceYiisoft\Queue\Middleware\FailureHandling\FailureEnvelope » Yiisoft\Queue\Message\Envelope
ImplementsYiisoft\Queue\Message\EnvelopeInterface

Constants

Hide inherited constants

Constant Value Description Defined By
ENVELOPE_STACK_KEY 'envelopes' Yiisoft\Queue\Message\EnvelopeInterface
FAILURE_META_KEY 'failure-meta' Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope

Property Details

Hide inherited properties

$message protected property

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( Yiisoft\Queue\Message\MessageInterface $message, array $metadata = [] )
$message Yiisoft\Queue\Message\MessageInterface
$metadata array

                public function __construct(
    protected MessageInterface $message,
    private readonly array $metadata = [],
) {
}

            
fromData() public static method
public static Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope fromData ( string $handlerName, mixed $data, array $metadata = [] )
$handlerName string
$data mixed
$metadata array

                public static function fromData(string $handlerName, mixed $data, array $metadata = []): static
{
    /** @psalm-suppress LessSpecificReturnStatement */
    return static::fromMessage(Message::fromData($handlerName, $data, $metadata));
}

            
fromMessage() public static method

public static Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope fromMessage ( Yiisoft\Queue\Message\MessageInterface $message )
$message Yiisoft\Queue\Message\MessageInterface

                public static function fromMessage(MessageInterface $message): static
{
    /** @var array $metadata */
    $metadata = $message->getMetadata()[self::FAILURE_META_KEY] ?? [];
    return new self($message, $metadata);
}

            
getData() public method
public mixed getData ( )

                public function getData(): mixed
{
    return $this->message->getData();
}

            
getEnvelopeMetadata() protected method

protected array getEnvelopeMetadata ( )

                protected function getEnvelopeMetadata(): array
{
    /** @var array $metadata */
    $metadata = $this->message->getMetadata()[self::FAILURE_META_KEY] ?? [];
    return [self::FAILURE_META_KEY => ArrayHelper::merge($metadata, $this->metadata)];
}

            
getHandlerName() public method
public string getHandlerName ( )

                public function getHandlerName(): string
{
    return $this->message->getHandlerName();
}

            
getMessage() public method
public Yiisoft\Queue\Message\MessageInterface getMessage ( )

                public function getMessage(): MessageInterface
{
    return $this->message;
}

            
getMetadata() public method
public array getMetadata ( )

                public function getMetadata(): array
{
    if ($this->metadata === null) {
        $messageMeta = $this->message->getMetadata();
        $stack = $messageMeta[EnvelopeInterface::ENVELOPE_STACK_KEY] ?? [];
        if (!is_array($stack)) {
            $stack = [];
        }
        $this->metadata = array_merge(
            $messageMeta,
            [
                EnvelopeInterface::ENVELOPE_STACK_KEY => array_merge(
                    $stack,
                    [static::class],
                ),
            ],
            $this->getEnvelopeMetadata(),
        );
    }
    return $this->metadata;
}