applyBaseOptions method
应用适配器无关的全局请求默认配置。
这是配置全局默认参数的标准入口。每个适配器负责将 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;
}