apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/ClusterOpenApiService.java/ClusterOpenApiService/getCluster
class ClusterOpenApiService:  @Override
  public OpenClusterDTO getCluster(String appId, String env, String clusterName) {
    checkNotEmpty(appId, "App id");
    checkNotEmpty(env, "Env");

    if (Strings.isNullOrEmpty(clusterName)) {
      clusterName = ConfigConsts.CLUSTER_NAME_DEFAULT;
    }

    OpenApiPathBuilder pathBuilder = OpenApiPathBuilder.newBuilder()
        .envsPathVal(env)
        .appsPathVal(appId)
        .clustersPathVal(clusterName);

    try (CloseableHttpResponse response = get(pathBuilder)) {
      return gson.fromJson(EntityUtils.toString(response.getEntity()), OpenClusterDTO.class);
    } catch (Throwable ex) {
      throw new RuntimeException(String
          .format("Get cluster for appId: %s, cluster: %s in env: %s failed", appId, clusterName, env), ex);
    }
  }