Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/yandex.market/lib/exceptions/api/ |
Upload File : |
<?php namespace Yandex\Market\Exceptions\Api; use Bitrix\Main; use Yandex\Market; class Facade { /** * @param Main\Result|Market\Result\Base $result * @param string|null $messageTemplate * * @throws Request */ public static function handleResult($result, $messageTemplate = null) { if ($result->isSuccess()) { return; } throw static::fromResult($result, $messageTemplate); } /** * @param Main\Result|Market\Result\Base $result * @param string|null $messageTemplate * * @return Market\Api\Exception\TransportException */ public static function fromResult($result, $messageTemplate = null) { $message = static::errorMessage($result, $messageTemplate); $code = static::errorCode($result); return new Market\Api\Exception\TransportException($message, $code); } /** * @param Main\Result|Market\Result\Base $result * @param string|null $messageTemplate * * @return string */ protected static function errorMessage($result, $messageTemplate = null) { $messages = $result->getErrorMessages(); $message = implode(PHP_EOL, $messages); if ($messageTemplate) { $message = str_replace('#MESSAGE#', $message, $message); } return $message; } /** * @param Main\Result|Market\Result\Base $result * * @return string|null */ protected static function errorCode($result) { $code = null; foreach ($result->getErrors() as $error) { $code = $error->getCode(); if ($code !== null) { break; } } return $code; } }