createConfiguredDio static method
Dio
createConfiguredDio({})
Create a configured Dio instance with unified HTTP settings
This method applies common HTTP configurations from LLMConfig extensions while allowing provider-specific customizations.
Implementation
static Dio createConfiguredDio({
required String baseUrl,
required Map<String, String> defaultHeaders,
required LLMConfig config,
Duration? defaultTimeout,
}) {
// Start with base options
final options = BaseOptions(
baseUrl: baseUrl,
connectTimeout: _getConnectionTimeout(config, defaultTimeout),
receiveTimeout: _getReceiveTimeout(config, defaultTimeout),
sendTimeout: _getSendTimeout(config, defaultTimeout),
headers: _buildHeaders(defaultHeaders, config),
);
final dio = Dio(options);
// Configure HTTP client adapter with proxy and SSL settings
_configureHttpClientAdapter(dio, config);
// Add logging interceptor if enabled
_configureLogging(dio, config);
return dio;
}