1
1
<?php namespace GeneaLabs \LaravelCaffeine \Providers ;
2
2
3
3
use GeneaLabs \LaravelCaffeine \Http \Middleware \LaravelCaffeineDripMiddleware ;
4
- use Illuminate \Support \Facades \Route ;
5
4
use Illuminate \Support \ServiceProvider ;
6
5
7
6
class LaravelCaffeineService extends ServiceProvider
@@ -10,44 +9,39 @@ class LaravelCaffeineService extends ServiceProvider
10
9
11
10
public function boot ()
12
11
{
13
- $ router = new Route ();
14
-
15
- if (! $ this ->app ->routesAreCached ()) {
16
- $ router ::group ([
17
- 'middleware ' => $ this ->middlewareGroupIfExists ('web ' ),
18
- ], function () {
12
+ app ('router ' )->group ($ this ->middlewareGroupExists ('web ' )
13
+ ? ['middleware ' => 'web ' ]
14
+ : [], function () {
19
15
require __DIR__ . '/../../routes/web.php ' ;
20
16
});
21
- }
22
17
23
18
$ this ->publishes ([__DIR__ . '/../../config/genealabs-laravel-caffeine.php ' => config_path ('genealabs-laravel-caffeine.php ' )], 'genealabs-laravel-caffeine ' );
24
19
}
25
20
26
21
public function register ()
27
22
{
28
23
$ this ->mergeConfigFrom (__DIR__ . '/../../config/genealabs-laravel-caffeine.php ' , 'genealabs-laravel-caffeine ' );
29
- app ('Illuminate\Contracts\Http\Kernel ' )->pushMiddleware (LaravelCaffeineDripMiddleware::class);
24
+
25
+ app ('Illuminate\Contracts\Http\Kernel ' )->pushMiddleware ('\GeneaLabs\LaravelCaffeine\Http\Middleware\LaravelCaffeineDripMiddleware ' );
30
26
}
31
27
32
- /**
33
- * @return array
34
- */
35
- public function provides ()
28
+ public function provides () : array
36
29
{
37
30
return ['genealabs-laravel-caffeine ' ];
38
31
}
39
32
40
- private function middlewareGroupIfExists (string $ group ) : string
33
+ private function middlewareGroupExists (string $ group ) : bool
41
34
{
42
- $ routes = collect (Route:: getRoutes ()->getRoutes ());
35
+ $ routes = collect (app ( ' router ' )-> getRoutes ()->getRoutes ());
43
36
44
37
return $ routes ->reduce (function ($ carry , $ route ) use ($ group ) {
38
+ $ carry = $ carry ?? false ;
45
39
$ actions = (array ) $ route ->getAction ();
46
40
47
41
if (array_key_exists ('middleware ' , $ actions )
48
42
&& in_array ($ group , (array ) $ actions ['middleware ' ])
49
43
) {
50
- return $ group ;
44
+ return true ;
51
45
}
52
46
53
47
return $ carry ;
0 commit comments