改进 模块不在线时不能请求。

This commit is contained in:
iVampireSP.com 2023-02-11 16:41:57 +08:00
parent 4a072fe5a4
commit baf992ccbc
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
3 changed files with 34 additions and 1 deletions

View File

@ -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
],
];

View File

@ -0,0 +1,31 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class MakeSureModuleStatusIsUp
{
/**
* Handle an incoming request.
*
* @param Request $request
* @param Closure $next
*
* @return Response|RedirectResponse|JsonResponse
*/
public function handle(Request $request, Closure $next): Response|RedirectResponse|JsonResponse
{
if ($request->user('module')->status !== 'up') {
return response()->json([
'message' => '无法连接到模块。',
], 503);
}
return $next($request);
}
}

View File

@ -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'));