onConnectionReady method

void onConnectionReady(
  1. ClientConnection connection
)

Implementation

void onConnectionReady(ClientConnection connection) {
  if (isCancelled) return;

  if (options.metadataProviders.isEmpty) {
    _sendRequest(connection, _sanitizeMetadata(options.metadata));
  } else {
    final metadata = Map<String, String>.of(options.metadata);
    Future.forEach(
          options.metadataProviders,
          (MetadataProvider provider) => provider(
            metadata,
            '${connection.scheme}://${connection.authority}${audiencePath(_method)}',
          ),
        )
        .then((_) => _sendRequest(connection, _sanitizeMetadata(metadata)))
        .catchError(_terminateWithError);
  }
}