Scalr\Tests\Functional\Api\Service\User\V1beta0\Controller\ServersTest::listServers PHP Метод

listServers() публичный Метод

Describes servers
public listServers ( array $parent = [], array $filters = [] ) : array
$parent array optional Farm or farm role that servers belong to
$filters array optional Filter values
Результат array
    public function listServers(array $parent = [], array $filters = [])
    {
        $envelope = null;
        $servers = [];
        if (isset($parent['farmId'])) {
            $uri = self::getUserApiUrl("/farms/{$parent['farmId']}/servers");
        } else {
            if (isset($parent['farmRoleId'])) {
                $uri = self::getUserApiUrl("/farm-roles/{$parent['farmRoleId']}/servers");
            } else {
                $uri = self::getUserApiUrl("/servers");
            }
        }
        do {
            $params = $filters;
            if (isset($envelope->pagination->next)) {
                $parts = parse_url($envelope->pagination->next);
                parse_str($parts['query'], $params);
            }
            $response = $this->request($uri, Request::METHOD_GET, $params);
            $this->assertEquals(200, $response->status, $this->printResponseError($response));
            $this->assertDescribeResponseNotEmpty($response);
            $envelope = $response->getBody();
            $servers[] = $envelope->data;
        } while (!empty($envelope->pagination->next));
        return call_user_func_array('array_merge', $servers);
    }