connectRestWithOptions static method

Future<NyxxRest> connectRestWithOptions(
  1. RestApiOptions apiOptions,
  2. [RestClientOptions clientOptions = const RestClientOptions()]
)

Create an instance of NyxxRest using the provided options.

Implementation

static Future<NyxxRest> connectRestWithOptions(RestApiOptions apiOptions, [RestClientOptions clientOptions = const RestClientOptions()]) async {
  clientOptions.logger
    ..info('Connecting to the REST API')
    ..fine('Token: ${apiOptions.token}, Authorization: ${apiOptions.authorizationHeader}, User-Agent: ${apiOptions.userAgent}')
    ..fine('Plugins: ${clientOptions.plugins.map((plugin) => plugin.name).join(', ')}');

  return _doConnect(apiOptions, clientOptions, () async {
    final client = NyxxRest._(apiOptions, clientOptions);

    return client
      .._application = await client.applications.fetchCurrentApplication()
      .._user = await client.users.fetchCurrentUser();
  }, clientOptions.plugins);
}