getApiUrlStringOrDefault method
Returns a validated URL string or defaultValue when invalid.
Implementation
String? getApiUrlStringOrDefault(
K key, {
String? defaultValue,
List<K> alternativeKeys = const [],
}) {
final value = _valueFor(key, alternativeKeys);
if (value == null) return defaultValue;
try {
final urlStr = value.toString().trim();
if (urlStr.isEmpty || urlStr.toLowerCase() == 'null') {
return defaultValue;
}
final uri = Uri.tryParse(urlStr);
if (uri == null || (!uri.hasScheme && !uri.hasAuthority)) {
return defaultValue;
}
return urlStr;
} catch (e) {
if (kDebugMode) {
debugPrint('Error parsing URL for key "$key": $e');
}
return defaultValue;
}
}