urlBuilder = $urlBuilder; $this->config = $config; $this->request = $request; } /** * Get cache servers' Uris * * @return Uri[] */ public function getUris() { $servers = []; $configuredHosts = $this->config->get(ConfigOptionsListConstants::CONFIG_PATH_CACHE_HOSTS); if (is_array($configuredHosts)) { foreach ($configuredHosts as $host) { $servers[] = UriFactory::factory('') ->setHost($host['host']) ->setPort(isset($host['port']) ? $host['port'] : self::DEFAULT_PORT) ; } } elseif ($this->request->getHttpHost()) { $servers[] = UriFactory::factory('')->setHost($this->request->getHttpHost())->setPort(self::DEFAULT_PORT); } else { $servers[] = UriFactory::factory($this->urlBuilder->getUrl('*', ['_nosid' => true])); } foreach (array_keys($servers) as $key) { $servers[$key]->setScheme('http') ->setPath('/') ->setQuery(null); } return $servers; } }