configure method

  1. @override
Future<void> configure({
  1. AmplifyConfig? config,
  2. required AmplifyAuthProviderRepository authProviderRepo,
})
inherited

Configures the plugin using the registered config.

Implementation

@override
Future<void> configure({
  AmplifyConfig? config,
  required AmplifyAuthProviderRepository authProviderRepo,
}) async {
  final apiConfig = config?.api?.awsPlugin;
  if (apiConfig == null) {
    throw ConfigurationError(
      'No AWS API config found',
      recoverySuggestion: 'Add API from the Amplify CLI. See '
          'https://docs.amplify.aws/lib/graphqlapi/getting-started/q/platform/flutter/#configure-api',
    );
  }
  for (final entry in apiConfig.endpoints.entries) {
    if (!entry.value.endpoint.startsWith('https')) {
      throw ConfigurationError(
        'Non-HTTPS endpoint found for ${entry.key} which is not supported.',
        recoverySuggestion:
            'Ensure the configured endpoint for ${entry.key} utilizes https.',
      );
    }
  }
  _apiConfig = apiConfig;
  _authProviderRepo = authProviderRepo;
  _registerApiPluginAuthProviders();
  Amplify.Hub.addChannel(HubChannel.Api, _hubEventController.stream);
}