Example #1
0
 * @link https://github.com/bluzphp/framework
 */
/**
 * @namespace
 */
namespace Bluz\Application\Helper;

use Bluz\Application\Application;
use Bluz\Controller\Controller;
use Bluz\Proxy\Response;
use Bluz\Proxy\Router;
/**
 * Reload helper can be declared inside Bootstrap
 * @param \Exception $exception
 * @return Controller
 */
return function ($exception) {
    /**
     * @var Application $this
     */
    Response::removeHeaders();
    Response::clearBody();
    // cast to valid HTTP error code
    // 500 - Internal Server Error
    $statusCode = 100 <= $exception->getCode() && $exception->getCode() <= 505 ? $exception->getCode() : 500;
    Response::setStatusCode($statusCode);
    $module = Router::getErrorModule();
    $controller = Router::getErrorController();
    $params = ['code' => $exception->getCode(), 'message' => $exception->getMessage()];
    return $this->dispatch($module, $controller, $params);
};