diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index c44452b..4772945 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -7,6 +7,7 @@ use App\Http\Middleware\Authenticate; use App\Http\Middleware\EncryptCookies; use App\Http\Middleware\JsonRequest; +use App\Http\Middleware\MakeSureModuleStatusIsUp; use App\Http\Middleware\PreventRequestsDuringMaintenance; use App\Http\Middleware\RealNamed; use App\Http\Middleware\RedirectIfAuthenticated; @@ -80,6 +81,7 @@ class Kernel extends HttpKernel 'module' => [ JsonRequest::class, SubstituteBindings::class, + MakeSureModuleStatusIsUp::class ], ]; diff --git a/app/Http/Middleware/MakeSureModuleStatusIsUp.php b/app/Http/Middleware/MakeSureModuleStatusIsUp.php new file mode 100644 index 0000000..a636635 --- /dev/null +++ b/app/Http/Middleware/MakeSureModuleStatusIsUp.php @@ -0,0 +1,31 @@ +user('module')->status !== 'up') { + return response()->json([ + 'message' => '无法连接到模块。', + ], 503); + } + + return $next($request); + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 5fb94b4..a07d64a 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -34,7 +34,7 @@ public function boot(): void ->as('api.') ->group(base_path('routes/api.php')); - Route::middleware(['module', 'auth:module']) + Route::middleware(['auth:module', 'module']) ->prefix('modules') ->as('modules.') ->group(base_path('routes/modules.php'));