optionalUri method

Uri? optionalUri(
  1. String key, {
  2. Uri? defaultValue,
  3. String? description,
})

Reads an optional URI environment variable identified by key.

Returns defaultValue if unset or empty. Throws BloomEnvironmentException if the variable is present but cannot be parsed as a URI.

Implementation

Uri? optionalUri(String key, {Uri? defaultValue, String? description}) {
  final val = BloomEnv.getOrNull(key)?.trim();
  if (val == null || val.isEmpty) {
    return defaultValue;
  }
  final parsed = Uri.tryParse(val);
  if (parsed == null) {
    final err = 'Environment variable "$key" is not a valid URI: "$val".';
    _validationErrors.add(err);
    throw BloomEnvironmentException(err, errors: [err]);
  }
  return parsed;
}