withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { $middleware->web(append: [ \App\Http\Middleware\HandleInertiaRequests::class, \Illuminate\Http\Middleware\AddLinkHeadersForPreloadedAssets::class, ]); $middleware->alias([ 'role' => \Spatie\Permission\Middleware\RoleMiddleware::class, 'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class, 'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class, ]); }) ->withExceptions(function (Exceptions $e): void { $e->respond(function (\Symfony\Component\HttpFoundation\Response $response) { if (in_array($response->getStatusCode(), [403, 404, 419, 500, 503]) && !request()->expectsJson() ) { return inertia('Errors/Error', ['status' => $response->getStatusCode()]) ->toResponse(request()) ->setStatusCode($response->getStatusCode()); } return $response; }); })->create();