|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / vendor / magento / framework / Webapi / Rest / Request / |
Filename | /home/dev2.destoffenstraat.com/vendor/magento/framework/Webapi/Rest/Request/DeserializerFactory.php |
Size | 2.15 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 07-Jan-2021 21:08 |
Last accessed | 23-Aug-2025 01:32 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Factory of REST request deserializers.
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Webapi\Rest\Request;
use Magento\Framework\Phrase;
class DeserializerFactory
{
/**
* @var \Magento\Framework\ObjectManagerInterface
*/
protected $_objectManager;
/**
* @var array
*/
protected $_deserializers;
/**
* @param \Magento\Framework\ObjectManagerInterface $objectManager
* @param array $deserializers
*/
public function __construct(
\Magento\Framework\ObjectManagerInterface $objectManager,
array $deserializers = []
) {
$this->_objectManager = $objectManager;
$this->_deserializers = $deserializers;
}
/**
* Retrieve proper deserializer for the specified content type.
*
* @param string $contentType
* @return \Magento\Framework\Webapi\Rest\Request\DeserializerInterface
* @throws \LogicException|\Magento\Framework\Webapi\Exception
*/
public function get($contentType)
{
if (empty($this->_deserializers)) {
throw new \LogicException('Request deserializer adapter is not set.');
}
foreach ($this->_deserializers as $deserializerMetadata) {
$deserializerType = $deserializerMetadata['type'];
if ($deserializerType == $contentType) {
$deserializerClass = $deserializerMetadata['model'];
break;
}
}
if (!isset($deserializerClass) || empty($deserializerClass)) {
throw new \Magento\Framework\Webapi\Exception(
new Phrase('Server cannot understand Content-Type HTTP header media type %1', [$contentType])
);
}
$deserializer = $this->_objectManager->get($deserializerClass);
if (!$deserializer instanceof \Magento\Framework\Webapi\Rest\Request\DeserializerInterface) {
throw new \LogicException(
'The deserializer must implement "Magento\Framework\Webapi\Rest\Request\DeserializerInterface".'
);
}
return $deserializer;
}
}
/**
* Factory of REST request deserializers.
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Webapi\Rest\Request;
use Magento\Framework\Phrase;
class DeserializerFactory
{
/**
* @var \Magento\Framework\ObjectManagerInterface
*/
protected $_objectManager;
/**
* @var array
*/
protected $_deserializers;
/**
* @param \Magento\Framework\ObjectManagerInterface $objectManager
* @param array $deserializers
*/
public function __construct(
\Magento\Framework\ObjectManagerInterface $objectManager,
array $deserializers = []
) {
$this->_objectManager = $objectManager;
$this->_deserializers = $deserializers;
}
/**
* Retrieve proper deserializer for the specified content type.
*
* @param string $contentType
* @return \Magento\Framework\Webapi\Rest\Request\DeserializerInterface
* @throws \LogicException|\Magento\Framework\Webapi\Exception
*/
public function get($contentType)
{
if (empty($this->_deserializers)) {
throw new \LogicException('Request deserializer adapter is not set.');
}
foreach ($this->_deserializers as $deserializerMetadata) {
$deserializerType = $deserializerMetadata['type'];
if ($deserializerType == $contentType) {
$deserializerClass = $deserializerMetadata['model'];
break;
}
}
if (!isset($deserializerClass) || empty($deserializerClass)) {
throw new \Magento\Framework\Webapi\Exception(
new Phrase('Server cannot understand Content-Type HTTP header media type %1', [$contentType])
);
}
$deserializer = $this->_objectManager->get($deserializerClass);
if (!$deserializer instanceof \Magento\Framework\Webapi\Rest\Request\DeserializerInterface) {
throw new \LogicException(
'The deserializer must implement "Magento\Framework\Webapi\Rest\Request\DeserializerInterface".'
);
}
return $deserializer;
}
}