![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/Webkul/PrivateShop/Model/Queue/ |
<?php /** * Webkul Software * * @category Webkul * @package Webkul_PrivateShop * @author Webkul Software Private Limited * @copyright Webkul Software Private Limited (https://webkul.com) * @license https://store.webkul.com/license.html */ namespace Webkul\PrivateShop\Model\Queue; use Webkul\PrivateShop\Api\Config\ConfigInterface as QueueConfig; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Phrase; use Magento\Framework\Webapi\ServicePayloadConverterInterface; class MessageEncoder implements \Webkul\PrivateShop\Api\Queue\EncoderInterface { public const CONTENT_TYPE = 'application/json'; /** * @var QueueConfig */ private $queueConfig; /** * @var \Magento\Framework\Webapi\ServiceOutputProcessor */ private $dataObjectEncoder; /** * @var \Magento\Framework\Webapi\ServiceInputProcessor */ private $dataObjectDecoder; /** * @var \Magento\Framework\Serialize\Serializer\Json */ private $jsonSerializer; /** * @param QueueConfig $queueConfig * @param \Magento\Framework\Serialize\Serializer\Json $jsonSerializer * @param \Magento\Framework\Webapi\ServiceOutputProcessor $dataObjectEncoder * @param \Magento\Framework\Webapi\ServiceInputProcessor $dataObjectDecoder */ public function __construct( QueueConfig $queueConfig, \Magento\Framework\Serialize\Serializer\Json $jsonSerializer, \Magento\Framework\Webapi\ServiceOutputProcessor $dataObjectEncoder, \Magento\Framework\Webapi\ServiceInputProcessor $dataObjectDecoder ) { $this->queueConfig = $queueConfig; $this->jsonSerializer = $jsonSerializer; $this->dataObjectEncoder = $dataObjectEncoder; $this->dataObjectDecoder = $dataObjectDecoder; } /** * @inheritdoc */ public function getContentType() { return self::CONTENT_TYPE; } /** * @inheritdoc */ public function encode($queueName, $message) { $schema = $this->queueConfig->getQueueMessageSchema($queueName); $messageObject = $this->dataObjectEncoder->convertValue($message, $schema); return $this->jsonSerializer->serialize($messageObject); } /** * @inheritdoc */ public function decode($queueName, $message) { $schema = $this->queueConfig->getQueueMessageSchema($queueName); $decodedMessage = $this->jsonSerializer->unserialize($message); return $this->dataObjectDecoder->convertValue($decodedMessage, $schema); } }