parent
dfd8c91827
commit
25736cf76e
|
@ -3,6 +3,7 @@
|
|||
|
||||
use Icinga\Application\Icinga;
|
||||
use Icinga\Application\Logger;
|
||||
use Icinga\Exception\MissingParameterException;
|
||||
use Icinga\Security\SecurityException;
|
||||
use Icinga\Web\Controller\ActionController;
|
||||
|
||||
|
@ -42,19 +43,26 @@ class ErrorController extends ActionController
|
|||
}
|
||||
|
||||
break;
|
||||
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
|
||||
if ($exception instanceof SecurityException) {
|
||||
$this->getResponse()->setHttpResponseCode(403);
|
||||
$this->view->message = $exception->getMessage();
|
||||
break;
|
||||
}
|
||||
// Move to default
|
||||
default:
|
||||
switch (true) {
|
||||
case $exception instanceof SecurityException:
|
||||
$this->getResponse()->setHttpResponseCode(403);
|
||||
break;
|
||||
case $exception instanceof MissingParameterException:
|
||||
$this->getResponse()->setHttpResponseCode(400);
|
||||
$this->getResponse()->setHeader(
|
||||
'X-Status-Reason',
|
||||
'Missing parameter ' . $exception->getParameter()
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$this->getResponse()->setHttpResponseCode(500);
|
||||
break;
|
||||
}
|
||||
$title = preg_replace('/\r?\n.*$/s', '', $exception->getMessage());
|
||||
$this->getResponse()->setHttpResponseCode(500);
|
||||
$this->view->title = 'Server error: ' . $title;
|
||||
$this->view->message = $exception->getMessage();
|
||||
if ($this->getInvokeArg('displayExceptions') == true) {
|
||||
if ($this->getInvokeArg('displayExceptions')) {
|
||||
$this->view->stackTrace = $exception->getTraceAsString();
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue