Parse a boolean env var ("true"/"false") into a bool field.
(var: &str, target: &mut bool)
| 102 | |
| 103 | /// Parse a boolean env var ("true"/"false") into a bool field. |
| 104 | fn apply_bool_env(var: &str, target: &mut bool) { |
| 105 | if let Ok(val) = std::env::var(var) { |
| 106 | match val.trim().to_lowercase().as_str() { |
| 107 | "true" | "1" | "yes" => { |
| 108 | tracing::info!( |
| 109 | env_var = var, |
| 110 | value = true, |
| 111 | "environment variable override applied" |
| 112 | ); |
| 113 | *target = true; |
| 114 | } |
| 115 | "false" | "0" | "no" => { |
| 116 | tracing::info!( |
| 117 | env_var = var, |
| 118 | value = false, |
| 119 | "environment variable override applied" |
| 120 | ); |
| 121 | *target = false; |
| 122 | } |
| 123 | _ => { |
| 124 | tracing::warn!( |
| 125 | env_var = var, |
| 126 | value = %val, |
| 127 | "ignoring malformed environment variable (expected true/false), using config value" |
| 128 | ); |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | /// Apply environment variable overrides to a loaded `ServerConfig`. |
| 135 | /// |
no test coverage detected