bool GetUsersForGroup()

in src/oslogin_utils.cc [1161:1190]


bool GetUsersForGroup(string groupname, std::vector<string>* users, int* errnop) {
  string response;
  long http_code;
  string pageToken ("");
  std::stringstream url;

  do {
    url.str("");
    url << kMetadataServerUrl << "users?groupname=" << groupname;
    if (pageToken != "")
      url << "&pagetoken=" << pageToken;

    response.clear();
    http_code = 0;
    if (!HttpGet(url.str(), &response, &http_code) || http_code != 200 ||
        response.empty()) {
      *errnop = EAGAIN;
      return false;
    }
    if (!ParseJsonToKey(response, "nextPageToken", &pageToken)) {
      *errnop = EINVAL;
      return false;
    }
    if (!ParseJsonToUsers(response, users)) {
      *errnop = EINVAL;
      return false;
    }
  } while (pageToken != "0");
  return true;
}