0 follower

Final Class Yiisoft\Queue\Middleware\Push\Implementation\IdMiddleware

InheritanceYiisoft\Queue\Middleware\Push\Implementation\IdMiddleware
ImplementsYiisoft\Queue\Middleware\Push\PushMiddlewareInterface

A middleware for message ID setting.

Method Details

Hide inherited methods

processPush() public method

public Yiisoft\Queue\Message\MessageInterface processPush ( Yiisoft\Queue\Message\MessageInterface $message, Yiisoft\Queue\Middleware\Push\PushHandlerInterface $handler )
$message Yiisoft\Queue\Message\MessageInterface
$handler Yiisoft\Queue\Middleware\Push\PushHandlerInterface

                public function processPush(MessageInterface $message, PushHandlerInterface $handler): MessageInterface
{
    $envelope = IdEnvelope::fromMessage($message);
    if ($envelope->getId() === null) {
        return $handler->handlePush(
            new IdEnvelope($message, uniqid('yii3-message-', true)),
        );
    }
    return $handler->handlePush($message);
}