0 follower

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

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

A middleware for message ID setting.

Method Details

Hide inherited methods

processPush() public method

public Yiisoft\Queue\Middleware\Push\PushRequest processPush ( Yiisoft\Queue\Middleware\Push\PushRequest $request, Yiisoft\Queue\Middleware\Push\MessageHandlerPushInterface $handler )
$request Yiisoft\Queue\Middleware\Push\PushRequest
$handler Yiisoft\Queue\Middleware\Push\MessageHandlerPushInterface

                public function processPush(PushRequest $request, MessageHandlerPushInterface $handler): PushRequest
{
    $meta = $request->getMessage()->getMetadata();
    if (empty($meta[IdEnvelope::MESSAGE_ID_KEY])) {
        $request = $request->withMessage(new IdEnvelope($request->getMessage(), uniqid('yii3-message-', true)));
    }
    return $handler->handlePush($request);
}