public static async handleAsync()

in infrastructure/lib/helpers/async-handler.ts [19:45]


  public static async handleAsync(event: CloudFrontRequestEvent, {
    region,
    logLevel,
    userPoolIdResolver,
    userPoolClientIdResolver,
    userPoolDomainResolver
  } : AsyncHandlerParams): Promise<CloudFrontRequestResult> {

    if (AsyncHandler._authenticatorInstance === undefined) {

      const [userPoolId, userPoolAppId, userPoolDomain] = await Promise.all([
        userPoolIdResolver(),
        userPoolClientIdResolver(),
        userPoolDomainResolver()]
      );

      AsyncHandler._authenticatorInstance = new Authenticator({
        region,
        logLevel,
        userPoolId,
        userPoolAppId,
        userPoolDomain
      });
    }

    return AsyncHandler._authenticatorInstance.handle(event);
  }