public function showExceptionAsJson($exception, $messages = null)
{
$this->response->setContentType('application/json', 'utf-8');
if (!$exception instanceof Exception\ExceptionInterface) {
$this->response->setStatusCode('500', 'System Runtime Exception');
return $this->response->setJsonContent(array('errors' => array(array('code' => $exception->getCode(), 'message' => $exception->getMessage(), 'message_human' => $this->getDI()->getTranslate()->query($exception->getMessage())))));
}
$this->response->setStatusCode($exception->getStatusCode(), $exception->getMessage());
$errors = array();
if ($messages) {
foreach ($messages as $message) {
$errors[] = array('code' => 0, 'message' => $message->getMessage(), 'message_human' => $this->getDI()->getTranslate()->query($message->getMessage()));
}
}
$errors[] = array('code' => $exception->getCode(), 'message' => $exception->getMessage(), 'message_human' => $this->getDI()->getTranslate()->query($exception->getMessage()));
return $this->response->setJsonContent(array('errors' => $errors));
}