applyBaseOptions method

  1. @override
void applyBaseOptions(
  1. AdapterBaseOptions options
)
override

应用适配器无关的全局请求默认配置。

这是配置全局默认参数的标准入口。每个适配器负责将 AdapterBaseOptions 的字段映射为自身原生参数:

  • DioAdapter:映射为 Dio.BaseOptions(超时、header、contentType 等)
  • HttpAdapter:默认 header 合并到每个请求,超时通过拦截器实现
  • MockAdapter:通常为空操作

请求级参数始终优先于全局默认值。

Implementation

@override
void applyBaseOptions(AdapterBaseOptions options) {
  if (options.connectTimeout != null) {
    _dio.options.connectTimeout = options.connectTimeout;
  }
  if (options.receiveTimeout != null) {
    _dio.options.receiveTimeout = options.receiveTimeout;
  }
  if (options.sendTimeout != null) {
    _dio.options.sendTimeout = options.sendTimeout;
  }
  if (options.headers.isNotEmpty) {
    _dio.options.headers.addAll(options.headers);
  }
  if (options.contentType != null) {
    _dio.options.contentType = options.contentType;
  }
  _dio.options.responseType = _convertResponseType(options.responseType);
  _dio.options.followRedirects = options.followRedirects;
  _dio.options.maxRedirects = options.maxRedirects;
  _dio.options.receiveDataWhenStatusError = options.receiveDataWhenStatusError;
  _dio.options.persistentConnection = options.persistentConnection;
}