<?php declare(strict_types = 1);
namespace MailPoet\Newsletter;
if (!defined('ABSPATH')) exit;
use RuntimeException;
use Throwable;
/**
* Domain-level error raised by {@see BulkActionController}. The HTTP
* transport layer (REST endpoint or legacy JSON endpoint) is responsible
* for translating the carried status code + error code into its own
* response envelope.
*/
class BulkActionException extends RuntimeException {
/** @var string */
private $errorCode;
/** @var int */
private $statusCode;
public function __construct(
string $message,
string $errorCode,
int $statusCode = 400,
?Throwable $previous = null
) {
parent::__construct($message, 0, $previous);
$this->errorCode = $errorCode;
$this->statusCode = $statusCode;
}
public function getErrorCode(): string {
return $this->errorCode;
}
public function getStatusCode(): int {
return $this->statusCode;
}
}