mod grant;
pub(crate) mod token_response;
pub(crate) mod form;
pub use grant::OAuth2ExchangeGrant;
pub use token_response::{
InvalidTokenResponse, RawTokenResponse, RawTokenResponseBuilder, TokenResponse,
};
pub(crate) fn resolve_mtls_alias(
http_client: &dyn crate::core::http::HttpClient,
primary: &crate::core::EndpointUrl,
mtls_alias: Option<&crate::core::EndpointUrl>,
) -> crate::core::EndpointUrl {
if http_client.uses_mtls() {
mtls_alias.unwrap_or(primary).clone()
} else {
primary.clone()
}
}
pub(crate) fn join_space(items: Option<&[String]>) -> Option<String> {
let joined = items?
.iter()
.map(String::as_str)
.filter(|s| !s.trim().is_empty())
.collect::<Vec<_>>()
.join(" ");
(!joined.is_empty()).then_some(joined)
}