- Модуль: 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;
}