• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/sharedserver/client.php
  • Класс: BitrixPullSharedServerClient
  • Вызов: Client::getServerList
static function getServerList(): Result
{
	$result = new Result();
	$httpClient = new HttpClient([
		"socketTimeout" => 5,
		"streamTimeout" => 5
	]);
	$response = $httpClient->get(Config::getDefaultCloudServer() . Config::SERVER_LIST_URL);
	if(!$response)
	{
		$errors = $httpClient->getError();
		foreach ($errors as $code => $message)
		{
			$result->addError(new Error($message, $code));
		}
		return $result;
	}
	if ($httpClient->getStatus() != 200)
	{
		return $result->addError(new Error("Unexpected server response code " . $httpClient->getStatus(), "WRONG_RESPONSE_CODE"));
	}
	$list = explode("n", $response);
	$list = array_filter($list, function($a){return $a != "";});
	$list = array_map(
		function($a){
			list($url, $region) = explode(";", $a);
			return [
				'url' => $url,
				'region' => $region
			];
		},
		$list
	);

	$result->setData([
		'serverList' => $list
	]);
	return $result;
}