constructor()

in lib/client.js [66:96]


  constructor(config) {
    this.region = config.region;
    this.net = config.net;

    // ak
    this.accessKeyId = config.accessKeyId;
    this.accessKeySecret = config.accessKeySecret;
    this.securityToken = config.securityToken;
    this.credentialsProvider = config.credentialsProvider;

    if (this.credentialsProvider) {
      if (!Client._isAsyncFunction(this.credentialsProvider.getCredentials)) {
        throw new Error('config.credentialsProvider must be an object with getCredentials async function');
      }
    } else {
      this._validateCredentials({
        accessKeyId: this.accessKeyId,
        accessKeySecret: this.accessKeySecret,
        securityToken: this.securityToken
      })
    }

    // endpoint
    if (config.endpoint) {
      this.endpoint = config.endpoint;
    } else {
      const region = this.region;
      const type = this.net ? `-${this.net}` : '';
      this.endpoint = `${region}${type}.log.aliyuncs.com`;
    }
  }