<?php declare(strict_types = 1);
namespace MailPoet\API\REST;
if (!defined('ABSPATH')) exit;
use Exception as PhpException;
use Throwable;
class ApiException extends PhpException implements Exception {
/** @var int */
private $statusCode;
/** @var string */
private $errorCode;
/** @var array<string, string> */
private $errors;
/**
* @param array<string, string> $errors
*/
public function __construct(
string $message,
int $statusCode = 400,
string $errorCode = 'mailpoet_rest_api_error',
array $errors = [],
?Throwable $previous = null
) {
parent::__construct($message, 0, $previous);
$this->statusCode = $statusCode;
$this->errorCode = $errorCode;
$this->errors = $errors;
}
public function getStatusCode(): int {
return $this->statusCode;
}
public function getErrorCode(): string {
return $this->errorCode;
}
public function getErrors(): array {
return $this->errors;
}
}