Files
panel-pelican-dev/app/Http/Middleware/MaintenanceMiddleware.php

33 lines
729 B
PHP
Raw Permalink Normal View History

2018-05-04 15:02:51 +02:00
<?php
2024-03-12 22:39:16 -04:00
namespace App\Http\Middleware;
2018-05-04 15:02:51 +02:00
use App\Models\Server;
2025-09-24 13:34:19 +02:00
use Closure;
2018-05-26 11:00:28 -07:00
use Illuminate\Contracts\Routing\ResponseFactory;
2025-09-24 13:34:19 +02:00
use Illuminate\Http\Request;
2018-05-04 15:02:51 +02:00
class MaintenanceMiddleware
{
2018-05-26 11:00:28 -07:00
/**
* MaintenanceMiddleware constructor.
*/
public function __construct(private ResponseFactory $response) {}
2018-05-26 11:00:28 -07:00
2018-05-04 15:02:51 +02:00
/**
* Handle an incoming request.
*/
public function handle(Request $request, Closure $next): mixed
2018-05-04 15:02:51 +02:00
{
/** @var Server $server */
2018-05-04 15:02:51 +02:00
$server = $request->attributes->get('server');
2018-05-26 11:00:28 -07:00
$node = $server->getRelation('node');
2018-05-04 15:02:51 +02:00
if ($node->maintenance_mode) {
2018-05-26 11:00:28 -07:00
return $this->response->view('errors.maintenance');
2018-05-04 15:02:51 +02:00
}
return $next($request);
}
}