(provider: &ProviderState, fallback_env: &[&str])
| 2157 | } |
| 2158 | |
| 2159 | fn provider_secret(provider: &ProviderState, fallback_env: &[&str]) -> Option<String> { |
| 2160 | provider_option_string(provider, &["apiKey", "api_key", "apikey"]) |
| 2161 | .or_else(|| provider.key.clone().filter(|k| !k.trim().is_empty())) |
| 2162 | .or_else(|| { |
| 2163 | provider |
| 2164 | .env |
| 2165 | .iter() |
| 2166 | .find_map(|name| std::env::var(name).ok()) |
| 2167 | .filter(|k| !k.trim().is_empty()) |
| 2168 | }) |
| 2169 | .or_else(|| env_any(fallback_env)) |
| 2170 | } |
| 2171 | |
| 2172 | fn provider_base_url(provider: &ProviderState) -> Option<String> { |
| 2173 | provider_option_string(provider, &["baseURL", "baseUrl", "url", "api"]).or_else(|| { |
no test coverage detected