service = $service; $this->factory = $factory; $this->exceptions = $exception_routes; } public function __invoke(Request $request, Handler $handler): Response { $path = $request->getUri()->getPath(); if (in_array($path, $this->exceptions) or str_contains($path, '.') or $this->service->isIn()) { return $handler->handle($request); } $route = $request->getUri(); $_SESSION['route'] = '' . $route; $response = $this->factory->createResponse(302); return $response ->withHeader('Location', '/auth/login'); } }