copyWith method

NorbixConfig copyWith({
  1. String? baseUrl,
  2. String? apiVersion,
  3. String? apiKey,
  4. String? bearerToken,
  5. Duration? timeout,
  6. int? maxRetries,
  7. Map<String, String>? defaultHeaders,
})

Returns a copy with selected fields replaced. Useful for runtime token rotation without mutating shared state.

Implementation

NorbixConfig copyWith({
  String? baseUrl,
  String? apiVersion,
  String? apiKey,
  String? bearerToken,
  Duration? timeout,
  int? maxRetries,
  Map<String, String>? defaultHeaders,
}) {
  return NorbixConfig(
    baseUrl: baseUrl ?? this.baseUrl,
    apiVersion: apiVersion ?? this.apiVersion,
    apiKey: apiKey ?? this.apiKey,
    bearerToken: bearerToken ?? this.bearerToken,
    timeout: timeout ?? this.timeout,
    maxRetries: maxRetries ?? this.maxRetries,
    defaultHeaders: defaultHeaders ?? this.defaultHeaders,
  );
}