pub struct EnvUtils;Expand description
Utility functions for safe environment variable handling.
Provides methods for safely accessing environment variables with proper validation and error handling. All methods trim whitespace and validate that values are not empty.
§Examples
use quetty_server::utils::EnvUtils;
// Check if a variable exists and has a value
if EnvUtils::has_non_empty_var("DATABASE_URL") {
// Get the validated value
let url = EnvUtils::get_validated_var("DATABASE_URL")?;
println!("Database URL: {}", url);
}
// Get an optional variable
if let Some(debug_level) = EnvUtils::get_optional_var("DEBUG_LEVEL") {
println!("Debug level: {}", debug_level);
}Implementations§
Source§impl EnvUtils
impl EnvUtils
Sourcepub fn has_non_empty_var(name: &str) -> bool
pub fn has_non_empty_var(name: &str) -> bool
Checks if an environment variable exists and has a non-empty value.
This method checks both that the variable is set and that it contains non-whitespace content after trimming.
§Arguments
name- The name of the environment variable to check
§Returns
true if the variable exists and has a non-empty value, false otherwise
§Examples
use quetty_server::utils::EnvUtils;
if EnvUtils::has_non_empty_var("API_KEY") {
println!("API key is configured");
} else {
println!("API key is missing or empty");
}Sourcepub fn get_validated_var(name: &str) -> Result<String, EnvVarError>
pub fn get_validated_var(name: &str) -> Result<String, EnvVarError>
Gets an environment variable with validation.
Retrieves the environment variable, trims whitespace, and validates that it contains a non-empty value. Returns detailed error information if the variable is missing, empty, or contains invalid UTF-8.
§Arguments
name- The name of the environment variable to retrieve
§Returns
The trimmed, validated environment variable value
§Errors
Returns EnvVarError if:
- The variable is not set (
EnvVarError::NotFound) - The variable is empty or contains only whitespace (
EnvVarError::Empty) - The variable contains invalid UTF-8 (
EnvVarError::InvalidUtf8)
§Examples
use quetty_server::utils::EnvUtils;
match EnvUtils::get_validated_var("DATABASE_URL") {
Ok(url) => println!("Database URL: {}", url),
Err(e) => eprintln!("Configuration error: {}", e),
}Sourcepub fn get_optional_var(name: &str) -> Option<String>
pub fn get_optional_var(name: &str) -> Option<String>
Gets an optional environment variable.
Returns the validated environment variable value if it exists and is valid,
or None if it’s missing, empty, or invalid. This is a convenience method
for cases where the absence of an environment variable is acceptable.
§Arguments
name- The name of the environment variable to retrieve
§Returns
Some(value) if the variable exists and is valid, None otherwise
§Examples
use quetty_server::utils::EnvUtils;
let debug_mode = EnvUtils::get_optional_var("DEBUG_MODE")
.unwrap_or_else(|| "false".to_string());
if let Some(custom_config) = EnvUtils::get_optional_var("CUSTOM_CONFIG") {
println!("Using custom config: {}", custom_config);
} else {
println!("Using default configuration");
}