Move plugin files to a subfolder
[MAILPOET-3988]
This commit is contained in:
29
mailpoet/lib/API/JSON/ErrorHandler.php
Normal file
29
mailpoet/lib/API/JSON/ErrorHandler.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace MailPoet\API\JSON;
|
||||
|
||||
use MailPoet\Exception;
|
||||
use MailPoet\HttpAwareException;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class ErrorHandler {
|
||||
/** @var string[] */
|
||||
private $defaultErrors;
|
||||
|
||||
public function __construct(
|
||||
WPFunctions $wp
|
||||
) {
|
||||
$this->defaultErrors = [
|
||||
Error::UNKNOWN => $wp->__('An unknown error occurred.', 'mailpoet'),
|
||||
];
|
||||
}
|
||||
|
||||
public function convertToResponse(\Throwable $e): ErrorResponse {
|
||||
if ($e instanceof Exception) {
|
||||
$errors = $e->getErrors() ?: $this->defaultErrors;
|
||||
$statusCode = $e instanceof HttpAwareException ? $e->getHttpStatusCode() : Response::STATUS_UNKNOWN;
|
||||
return new ErrorResponse($errors, [], $statusCode);
|
||||
}
|
||||
return new ErrorResponse($this->defaultErrors, [], Response::STATUS_UNKNOWN);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user