getTraceAsString()); } else { http_response_code(500); throw $ex; } $message = "A fatal error happened"; if ($ex instanceof \RAP\BadRequestException) { http_response_code(400); $message = "Bad request: " . $ex->message; } else if ($ex instanceof \RAP\UnauthorizedException) { http_response_code(401); $message = "Unauthorized: " . $ex->message; } else if ($ex instanceof \Exception) { http_response_code(500); if ($ex->getMessage() !== null) { $message = $ex->getMessage(); } } $headers = apache_request_headers(); $useJson = false; if (array_key_exists('Accept', $headers)) { $accept = $headers['Accept']; $useJson = ($accept === 'application/json' || $accept === 'text/json'); } if ($useJson) { echo json_encode(["error" => $message]); } else { global $locator; Flight::render('error.php', array('title' => 'Error', 'version' => $locator->getVersion(), 'error' => $message, 'contactEmail' => isset($locator->config->contactEmail) ? $locator->config->contactEmail : null, 'contactLabel' => isset($locator->config->contactLabel) ? $locator->config->contactLabel : null, 'contextRoot' => $locator->config->contextRoot)); } }); // Starting Flight framework Flight::start();