*/ protected array $allowModules; public function __construct( MaintenanceModeManagerInterface $maintenanceModeManager, AllowModuleInterface ...$allowModules ) { $this->maintenanceModeManager = $maintenanceModeManager; $this->allowModules = $allowModules; } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($this->maintenanceModeManager->isMaintenanceMode()) { foreach ($this->allowModules as $allowModule) { if ($allowModule->isRequestAllowed($request)) { return $handler->handle($request); } } throw new MaintenanceModeActiveException('Maintenance is active'); } return $handler->handle($request); } }