mergeWith method

Options mergeWith(
  1. Options base
)

Implementation

Options mergeWith(Options base) {
  final Options merged = base.copyWith(
    connectTimeout: connectTimeout ?? options?.connectTimeout ?? base.connectTimeout,
    receiveTimeout: receiveTimeout ?? options?.receiveTimeout ?? base.receiveTimeout,
    sendTimeout: sendTimeout ?? options?.sendTimeout ?? base.sendTimeout,
    method: options?.method ?? base.method,
    headers: {
      ...?base.headers,
      ...?options?.headers,
    },
    responseType: options?.responseType ?? base.responseType,
    contentType: options?.contentType ?? base.contentType,
    validateStatus: options?.validateStatus ?? base.validateStatus,
    receiveDataWhenStatusError:
        options?.receiveDataWhenStatusError ?? base.receiveDataWhenStatusError,
    followRedirects: options?.followRedirects ?? base.followRedirects,
    maxRedirects: options?.maxRedirects ?? base.maxRedirects,
    persistentConnection:
        options?.persistentConnection ?? base.persistentConnection,
    requestEncoder: options?.requestEncoder ?? base.requestEncoder,
    responseDecoder: options?.responseDecoder ?? base.responseDecoder,
    listFormat: options?.listFormat ?? base.listFormat,
    extra: {
      ...?base.extra,
      ...?options?.extra,
    },
  );

  return merged;
}