2015-12-06 13:58:49 -05:00
|
|
|
<?php
|
|
|
|
|
|
2026-03-17 09:09:01 +01:00
|
|
|
use App\Console\Kernel;
|
|
|
|
|
use App\Exceptions\Handler;
|
|
|
|
|
use App\Http\Middleware\Activity\TrackAPIKey;
|
|
|
|
|
use App\Http\Middleware\Api\Application\AuthenticateApplicationUser;
|
|
|
|
|
use App\Http\Middleware\Api\AuthenticateIPAccess;
|
|
|
|
|
use App\Http\Middleware\Api\Client\RequireClientApiKey;
|
|
|
|
|
use App\Http\Middleware\Api\Daemon\DaemonAuthenticate;
|
|
|
|
|
use App\Http\Middleware\Api\IsValidJson;
|
|
|
|
|
use App\Http\Middleware\EnsureStatefulRequests;
|
|
|
|
|
use App\Http\Middleware\LanguageMiddleware;
|
|
|
|
|
use App\Http\Middleware\MaintenanceMiddleware;
|
|
|
|
|
use App\Http\Middleware\RedirectIfAuthenticated;
|
2026-04-20 17:25:54 +02:00
|
|
|
use App\Http\Middleware\SetSecurityHeaders;
|
2026-03-17 09:09:01 +01:00
|
|
|
use App\Http\Middleware\VerifyCsrfToken;
|
|
|
|
|
use Illuminate\Contracts\Debug\ExceptionHandler;
|
2024-03-19 17:03:30 -04:00
|
|
|
use Illuminate\Foundation\Application;
|
|
|
|
|
use Illuminate\Foundation\Configuration\Exceptions;
|
|
|
|
|
use Illuminate\Foundation\Configuration\Middleware;
|
2026-03-17 09:09:01 +01:00
|
|
|
use Illuminate\Foundation\Http\Middleware\ValidateCsrfToken;
|
|
|
|
|
use Illuminate\Routing\Middleware\SubstituteBindings;
|
2024-03-19 17:03:30 -04:00
|
|
|
|
|
|
|
|
return Application::configure(basePath: dirname(__DIR__))
|
2024-11-13 17:05:48 -05:00
|
|
|
->withProviders()
|
2024-03-19 17:03:30 -04:00
|
|
|
->withRouting(
|
|
|
|
|
health: '/up',
|
|
|
|
|
)
|
|
|
|
|
->withMiddleware(function (Middleware $middleware) {
|
2025-01-06 17:35:05 -05:00
|
|
|
$middleware->redirectGuestsTo(fn () => route('filament.app.auth.login'));
|
2024-03-19 20:38:01 -04:00
|
|
|
|
2026-04-20 17:25:54 +02:00
|
|
|
$middleware->web([
|
|
|
|
|
LanguageMiddleware::class,
|
|
|
|
|
SetSecurityHeaders::class,
|
|
|
|
|
]);
|
2024-03-19 20:38:01 -04:00
|
|
|
|
|
|
|
|
$middleware->api([
|
2026-03-17 09:09:01 +01:00
|
|
|
EnsureStatefulRequests::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
'auth:sanctum',
|
2026-03-17 09:09:01 +01:00
|
|
|
IsValidJson::class,
|
|
|
|
|
TrackAPIKey::class,
|
|
|
|
|
AuthenticateIPAccess::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$middleware->group('application-api', [
|
2026-03-17 09:09:01 +01:00
|
|
|
SubstituteBindings::class,
|
|
|
|
|
AuthenticateApplicationUser::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$middleware->group('client-api', [
|
2026-03-17 09:09:01 +01:00
|
|
|
SubstituteBindings::class,
|
|
|
|
|
RequireClientApiKey::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$middleware->group('daemon', [
|
2026-03-17 09:09:01 +01:00
|
|
|
SubstituteBindings::class,
|
|
|
|
|
DaemonAuthenticate::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
]);
|
|
|
|
|
|
2026-03-17 09:09:01 +01:00
|
|
|
$middleware->replaceInGroup('web', ValidateCsrfToken::class, VerifyCsrfToken::class);
|
2024-03-19 20:38:01 -04:00
|
|
|
|
|
|
|
|
$middleware->alias([
|
2026-03-17 09:09:01 +01:00
|
|
|
'bindings' => SubstituteBindings::class,
|
|
|
|
|
'guest' => RedirectIfAuthenticated::class,
|
|
|
|
|
'node.maintenance' => MaintenanceMiddleware::class,
|
2024-03-19 20:38:01 -04:00
|
|
|
]);
|
2026-01-13 08:39:50 +01:00
|
|
|
|
|
|
|
|
$middleware->priority([
|
2026-03-17 09:09:01 +01:00
|
|
|
SubstituteBindings::class,
|
2026-01-13 08:39:50 +01:00
|
|
|
]);
|
2024-03-19 17:03:30 -04:00
|
|
|
})
|
2024-03-20 03:02:24 -04:00
|
|
|
->withSingletons([
|
2026-03-17 09:09:01 +01:00
|
|
|
Illuminate\Contracts\Console\Kernel::class => Kernel::class,
|
|
|
|
|
ExceptionHandler::class => Handler::class,
|
2024-03-20 03:02:24 -04:00
|
|
|
])
|
2024-11-22 09:27:57 +01:00
|
|
|
->withExceptions(function (Exceptions $exceptions) {})
|
2024-03-20 03:02:24 -04:00
|
|
|
->create();
|