Fixed undefined constants warning on the 404 error page

This commit is contained in:
Bernd Bestel
2020-08-29 17:12:31 +02:00
parent 22384aaa2e
commit a8395cb748

View File

@@ -22,39 +22,46 @@ class ExceptionController extends BaseApiController
$this->app = $app; $this->app = $app;
} }
public function __invoke(ServerRequestInterface $request, public function __invoke(ServerRequestInterface $request, Throwable $exception, bool $displayErrorDetails, bool $logErrors, bool $logErrorDetails, ?LoggerInterface $logger = null)
Throwable $exception,
bool $displayErrorDetails,
bool $logErrors,
bool $logErrorDetails,
?LoggerInterface $logger = null)
{ {
$response = $this->app->getResponseFactory()->createResponse(); $response = $this->app->getResponseFactory()->createResponse();
$isApiRoute = string_starts_with($request->getUri()->getPath(), '/api/'); $isApiRoute = string_starts_with($request->getUri()->getPath(), '/api/');
if ($isApiRoute) { if ($isApiRoute)
{
$status = 500; $status = 500;
if ($exception instanceof HttpException) { if ($exception instanceof HttpException)
{
$status = $exception->getCode(); $status = $exception->getCode();
} }
$data = [ $data = [
'error_message' => $exception->getMessage(), 'error_message' => $exception->getMessage(),
]; ];
if ($displayErrorDetails) {
if ($displayErrorDetails)
{
$data['error_details'] = [ $data['error_details'] = [
'stack_trace' => $exception->getTraceAsString(), 'stack_trace' => $exception->getTraceAsString(),
'file' => $exception->getFile(), 'file' => $exception->getFile(),
'line' => $exception->getLine(), 'line' => $exception->getLine(),
]; ];
} }
return $this->ApiResponse($response->withStatus($status), $data); return $this->ApiResponse($response->withStatus($status), $data);
} }
if ($exception instanceof HttpNotFoundException) {
if ($exception instanceof HttpNotFoundException)
{
define('GROCY_AUTHENTICATED', false);
return $this->renderPage($response->withStatus(404), 'errors/404', [ return $this->renderPage($response->withStatus(404), 'errors/404', [
'exception' => $exception 'exception' => $exception
]); ]);
} }
if ($exception instanceof HttpForbiddenException) {
if ($exception instanceof HttpForbiddenException)
{
return $this->renderPage($response->withStatus(403), 'errors/403', [ return $this->renderPage($response->withStatus(403), 'errors/403', [
'exception' => $exception 'exception' => $exception
]); ]);
@@ -63,6 +70,5 @@ class ExceptionController extends BaseApiController
return $this->renderPage($response->withStatus(500), 'errors/500', [ return $this->renderPage($response->withStatus(500), 'errors/500', [
'exception' => $exception 'exception' => $exception
]); ]);
} }
} }