break;
case 501:
$title = __("Not Implemented");
$description = __("The server does not understand or does not support the HTTP method");
break;
case 503:
$title = __("Service Unavailable");
$description = __("The server is currently unable to handle the request due to a temporary overloading");
Response::setHeader('Retry-After', '600');
break;
default:
$title = __("Internal Server Error");
$description = __("An unexpected error occurred with your request. Please try again later");
break;
}
// check CLI or HTTP request
if (Request::isHttp()) {
// simple AJAX call, accept JSON
if (Request::getAccept(['application/json'])) {
$this->useJson();
Messages::addError($description);
return null;
}
// dialog AJAX call, accept HTML
if (!Request::isXmlHttpRequest()) {
$this->useLayout('small.phtml');
}
}
Layout::title($title);
return ['error' => $title, 'description' => $description];
};