withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { /** * Remove the default Laravel middleware that prevents requests during maintenance mode. There are three * middlewares in the shop that need to be loaded before this middleware. Therefore, we need to remove this * middleware from the list and add the overridden middleware at the end of the list. * * As of now, this has been added in the Admin and Shop providers. I will look for a better approach in Laravel 11 for this. */ $middleware->remove(PreventRequestsDuringMaintenance::class); /** * Remove the default Laravel middleware that converts empty strings to null. First, handle all nullable cases, * then remove this line. */ $middleware->remove(ConvertEmptyStringsToNull::class); $middleware->append(SecureHeaders::class); $middleware->append(CanInstall::class); /** * Add the overridden middleware at the end of the list. */ $middleware->replaceInGroup('web', BaseEncryptCookies::class, EncryptCookies::class); $middleware->trustProxies('*'); }) ->withSchedule(function (Schedule $schedule) { // }) ->withExceptions(function (Exceptions $exceptions) { // })->create();