From f2a5a9fe6a6b32f5e5ea8564b01c4ac76933b4b1 Mon Sep 17 00:00:00 2001 From: Miguel Nogueira Date: Wed, 6 Aug 2025 10:10:42 +0100 Subject: [PATCH] refactor: remove redundant http kernel http kernel functionality has now been moved to bootstrap/app.php Signed-off-by: Miguel Nogueira --- app/Http/Kernel.php | 96 -------------------------------------------- bootstrap/app.php | 98 ++++++++++++++++++++++++++++----------------- routes/console.php | 10 ----- 3 files changed, 62 insertions(+), 142 deletions(-) delete mode 100644 app/Http/Kernel.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php deleted file mode 100644 index 41e4b59..0000000 --- a/app/Http/Kernel.php +++ /dev/null @@ -1,96 +0,0 @@ -. - */ - -namespace App\Http; - -use Illuminate\Foundation\Http\Kernel as HttpKernel; - -class Kernel extends HttpKernel -{ - /** - * The application's global HTTP middleware stack. - * - * These middleware are run during every request to your application. - * - * @var array - */ - protected $middleware = [ - \App\Http\Middleware\TrustProxies::class, - \Illuminate\Http\Middleware\HandleCors::class, - \App\Http\Middleware\CheckForMaintenanceMode::class, - \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, - \App\Http\Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - ]; - - /** - * The application's route middleware groups. - * - * @var array - */ - protected $middlewareGroups = [ - 'web' => [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - - 'api' => [ - 'throttle:60,1', - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - ]; - - /** - * The application's route middleware. - * - * These middleware may be assigned to groups or used individually. - * - * @var array - */ - protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - 'eligibility' => \App\Http\Middleware\ApplicationEligibility::class, - 'usernameUUID' => \App\Http\Middleware\UsernameUUID::class, - 'forcelogout' => \App\Http\Middleware\ForceLogoutMiddleware::class, - '2fa' => \PragmaRX\Google2FALaravel\Middleware::class, - 'passwordexpiration' => \App\Http\Middleware\PasswordExpirationMiddleware::class, - 'passwordredirect' => \App\Http\Middleware\PasswordExpirationRedirectMiddleware::class, - 'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class, - 'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class, - 'localeSessionRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class, - 'localeCookieRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::class, - 'localeViewPath' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class, - ]; -} diff --git a/bootstrap/app.php b/bootstrap/app.php index c89db0b..bd38cb9 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -19,45 +19,71 @@ * along with Raspberry Staff Manager. If not, see . */ -$app = new Illuminate\Foundation\Application( - $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__) -); +use Illuminate\Foundation\Application; +use Illuminate\Foundation\Configuration\Middleware; +use Illuminate\Foundation\Configuration\Exceptions; -/* -|-------------------------------------------------------------------------- -| Bind Important Interfaces -|-------------------------------------------------------------------------- -| -| Next, we need to bind some important interfaces into the container so -| we will be able to resolve them when needed. The kernels serve the -| incoming requests to this application from both the web and CLI. -| -*/ -$app->singleton( - Illuminate\Contracts\Http\Kernel::class, - App\Http\Kernel::class -); +return Application::configure(dirname(__DIR__)) + ->withRouting( + web: __DIR__.'/../routes/web.php', + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware): void { -$app->singleton( - Illuminate\Contracts\Console\Kernel::class, - App\Console\Kernel::class -); + // Global middleware + $middleware->append([ + \App\Http\Middleware\TrustProxies::class, + \Illuminate\Http\Middleware\HandleCors::class, + \App\Http\Middleware\CheckForMaintenanceMode::class, + \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, + \App\Http\Middleware\TrimStrings::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + ]); -$app->singleton( - Illuminate\Contracts\Debug\ExceptionHandler::class, - App\Exceptions\Handler::class -); + // Web middleware + $middleware->appendToGroup('web', [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ]); -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ + // API middleware + $middleware->appendToGroup('api', [ + \Illuminate\Routing\Middleware\SubstituteBindings::class + ]); -return $app; + // Route middleware (aliases) + $middleware->alias([ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'eligibility' => \App\Http\Middleware\ApplicationEligibility::class, + 'usernameUUID' => \App\Http\Middleware\UsernameUUID::class, + 'forcelogout' => \App\Http\Middleware\ForceLogoutMiddleware::class, + '2fa' => \PragmaRX\Google2FALaravel\Middleware::class, + 'passwordexpiration' => \App\Http\Middleware\PasswordExpirationMiddleware::class, + 'passwordredirect' => \App\Http\Middleware\PasswordExpirationRedirectMiddleware::class, + 'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class, + 'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class, + 'localeSessionRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class, + 'localeCookieRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::class, + 'localeViewPath' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class, + ]); + + }) + ->withExceptions(function (Exceptions $exceptions): void { + + })->create(); diff --git a/routes/console.php b/routes/console.php index 8a11008..8a63b38 100644 --- a/routes/console.php +++ b/routes/console.php @@ -22,16 +22,6 @@ use Illuminate\Foundation\Inspiring; use Illuminate\Support\Facades\Artisan; -/* -|-------------------------------------------------------------------------- -| Console Routes -|-------------------------------------------------------------------------- -| -| This file is where you may define all of your Closure based console -| commands. Each Closure is bound to a command instance allowing a -| simple approach to interacting with each command's IO methods. -| -*/ Artisan::command('inspire', function () { $this->comment(Inspiring::quote());