private async getRoleName()

in src/providers/ecs_ram_role.ts [90:117]


  private async getRoleName(): Promise<string> {
    const builder = Request.builder()
      .withMethod('GET')
      .withProtocol('http')
      .withHost('100.100.100.200')
      .withPath('/latest/meta-data/ram/security-credentials/')
      .withReadTimeout(this.readTimeout || 1000)
      .withConnectTimeout(this.connectTimeout || 1000);

    const metadataToken = await this.getMetadataToken();
    if (metadataToken !== null) {
      builder.withHeaders({
        'x-aliyun-ecs-metadata-token': metadataToken
      });
    }

    // ConnectTimeout: 5 * time.Second,
    // ReadTimeout: 5 * time.Second,

    const request = builder.build();
    const response = await this.doRequest(request);

    if (response.statusCode !== 200) {
      throw new Error(`get role name failed: ${request.method} ${request.toRequestURL()} ${response.statusCode}`);
    }

    return response.body.toString().trim();
  }