withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { $middleware->web(append: [ HandleInertiaRequests::class, ]); $middleware->alias([ 'permission' => \Spatie\LaravelPermission\Middleware\PermissionMiddleware::class, 'role' => \Spatie\LaravelPermission\Middleware\RoleMiddleware::class, 'role_or_permission' => \Spatie\LaravelPermission\Middleware\RoleOrPermissionMiddleware::class, ]); }) ->withExceptions(function (Exceptions $exceptions) { $exceptions->respond(function (\Symfony\Component\HttpFoundation\Response $response, \Throwable $e, Request $request) { if (!app()->environment(['local', 'testing']) && in_array($response->getStatusCode(), [500, 503, 404, 403])) { return Inertia::render('Error', ['status' => $response->getStatusCode()]) ->toResponse($request) ->setStatusCode($response->getStatusCode()); } if ($response->getStatusCode() === 419) { return back()->with('error', 'The page expired, please try again.'); } return $response; }); })->create();