WinWinKit constructor

WinWinKit({
  1. required String apiKey,
  2. Dio? dio,
  3. Serializers? serializers,
  4. String? basePathOverride,
})

Creates a WinWinKit client.

apiKey is sent as the x-api-key header on every request.

Pass dio to share a Dio instance across SDKs or inject custom interceptors (auth, logging, retry, test adapters). When dio is supplied, configure its baseUrl yourself — basePathOverride is ignored in that case, and passing both together trips an assertion in debug builds.

Implementation

WinWinKit({
  required this.apiKey,
  Dio? dio,
  Serializers? serializers,
  String? basePathOverride,
})  : assert(
        dio == null || basePathOverride == null,
        'basePathOverride is ignored when a custom Dio is supplied; '
        'configure dio.options.baseUrl directly instead.',
      ),
      serializers = serializers ?? standardSerializers,
      dio = dio ??
          Dio(BaseOptions(
            baseUrl: basePathOverride ?? basePath,
            connectTimeout: const Duration(milliseconds: 5000),
            receiveTimeout: const Duration(milliseconds: 3000),
          ));