(
provider: &Provider,
preferred_key_names: &[&str],
lookup: CredentialLookup,
)
| 833 | } |
| 834 | |
| 835 | fn find_provider_api_key( |
| 836 | provider: &Provider, |
| 837 | preferred_key_names: &[&str], |
| 838 | lookup: CredentialLookup, |
| 839 | ) -> Option<String> { |
| 840 | for key in preferred_key_names { |
| 841 | if let Some(value) = provider.credentials.get(*key) |
| 842 | && !value.trim().is_empty() |
| 843 | { |
| 844 | return Some(value.clone()); |
| 845 | } |
| 846 | } |
| 847 | |
| 848 | if lookup == CredentialLookup::PreferredOnly { |
| 849 | return None; |
| 850 | } |
| 851 | |
| 852 | let mut keys = provider.credentials.keys().collect::<Vec<_>>(); |
| 853 | keys.sort(); |
| 854 | for key in keys { |
| 855 | if let Some(value) = provider.credentials.get(key) |
| 856 | && !value.trim().is_empty() |
| 857 | { |
| 858 | return Some(value.clone()); |
| 859 | } |
| 860 | } |
| 861 | |
| 862 | None |
| 863 | } |
| 864 | |
| 865 | fn find_provider_config_value(provider: &Provider, preferred_keys: &[&str]) -> Option<String> { |
| 866 | for key in preferred_keys { |
no test coverage detected