commercetools-8.x-1.2-alpha1/src/Exception/CommercetoolsGraphqlErrorException.php

src/Exception/CommercetoolsGraphqlErrorException.php
<?php

namespace Drupal\commercetools\Exception;

use Commercetools\Base\MapperSequence;

/**
 * The exception on an unexpected error with a requests to commercetools API.
 */
class CommercetoolsGraphqlErrorException extends \RuntimeException {

  /**
   * Error messages.
   *
   * @var array
   */
  protected $messages = [];

  /**
   * {@inheritdoc}
   */
  public function __construct(?MapperSequence $errors = NULL, ?string $query = NULL, ?array $variables = NULL, ?\Throwable $previous = NULL) {
    foreach ($errors as $error) {
      $message = $error->getMessage();
      $code = method_exists($error, 'getCode') ? $error->getCode() : NULL;
      $messages[] = (empty($code) || $code == $message)
      ? $message
      : "$code: $message";
    }
    $this->messages = $messages;
    $message = implode("\n", $messages);
    // Commercetools returns code as string, that is not supported by PHP
    // exceptions, so adding it to the message and use 0 as code.
    $code = 0;
    parent::__construct($message, $code, $previous);
  }

  /**
   * Returns error messages.
   */
  public function getMessages() : array {
    return $this->messages;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc