From a0b83c15c5e78e383cb7b123c2ea48ae50ca8b48 Mon Sep 17 00:00:00 2001 From: Tony Messias Date: Tue, 7 Mar 2023 14:13:35 -0300 Subject: [PATCH] Prepend middleware using the kernel http contract instead of Route facade --- src/TurboServiceProvider.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/TurboServiceProvider.php b/src/TurboServiceProvider.php index 81a43bd..0b39330 100644 --- a/src/TurboServiceProvider.php +++ b/src/TurboServiceProvider.php @@ -2,12 +2,12 @@ namespace Tonysm\TurboLaravel; +use Illuminate\Contracts\Http\Kernel; use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Response as ResponseFacade; -use Illuminate\Support\Facades\Route; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Str; use Illuminate\Testing\TestResponse; @@ -36,10 +36,7 @@ public function boot() $this->configureMacros(); $this->configureRequestAndResponseMacros(); $this->configureTestResponseMacros(); - - if (config('turbo-laravel.automatically_register_middleware', true)) { - Route::prependMiddlewareToGroup('web', TurboMiddleware::class); - } + $this->configureMiddleware(); } public function register() @@ -158,4 +155,15 @@ private function configureTestResponseMacros() ); }); } + + protected function configureMiddleware(): void + { + if (! config('turbo-laravel.automatically_register_middleware', true)) { + return; + } + + /** @var Kernel $kernel */ + $kernel = resolve(Kernel::class); + $kernel->prependMiddlewareToGroup('web', TurboMiddleware::class); + } }