private getBucketName()

in authui-container/server/auth-server.ts [431:455]


  private getBucketName(): Promise<string> {
    const bucketPrefix = `gcip-iap-bucket-${process.env.K_CONFIGURATION}-`;
    if (this.bucketName) {
      return Promise.resolve(this.bucketName);
    } else if (process.env.GCS_BUCKET_NAME) {
      this.bucketName = process.env.GCS_BUCKET_NAME;
      return Promise.resolve(this.bucketName);
    }
    return this.metadataServer.getProjectNumber()
      .then((projectNumber) => {
        // https://cloud.google.com/storage/docs/naming-buckets#requirements
        // Bucket names cannot exceed a certain limit. Trim overflowing characters.
        // Bucket names must also start and end with a number or letter.
        let computedBucketName =
          `${bucketPrefix}${projectNumber}`.substr(0, MAX_BUCKET_STRING_LENGTH);
        // Last character should always be a number, unless the bucket name is trimmed.
        if (!isLastCharLetterOrNumber(computedBucketName)) {
          // Last char is not a letter or number. Replace with 0.
          computedBucketName =
            computedBucketName.substr(0, computedBucketName.length - 1) + ALLOWED_LAST_CHAR;
        }
        this.bucketName = computedBucketName;
        return this.bucketName;
      });
  }