Back to JsonRenderer class

Method render

public string
render
(\Throwable $error)
Render the error page for the given object
Parameters
  • \Throwable $error The error object to be rendered
Returns
  • string
Since
  • 4.0.0
Class: JsonRenderer
Project: Joomla

Method render - Source code

/**
 * Render the error page for the given object
 *
 * @param   \Throwable  $error  The error object to be rendered
 *
 * @return  string
 *
 * @since   4.0.0
 */
public function render(\Throwable $error) : string
{
    // Create our data object to be rendered
    $data = ['error' => true, 'code' => $error->getCode(), 'message' => $error->getMessage()];
    // Include the stack trace if in debug mode
    if (JDEBUG) {
        $data['trace'] = $error->getTraceAsString();
    }
    $app = Factory::getApplication();
    if ($app instanceof WebApplicationInterface) {
        $errorCode = 500;
        if ($error->getCode() > 0) {
            $errorCode = $error->getCode();
        }
        $app->setHeader('status', $errorCode);
    }
    // Push the data object into the document
    $this->getDocument()->setBuffer(json_encode($data));
    if (ob_get_contents()) {
        ob_end_clean();
    }
    return $this->getDocument()->render();
}