use crate::settings::Redirects;
pub fn get_redirection<'a>(
uri_host: &'a str,
uri_path: &'a str,
redirects_opts: Option<&'a [Redirects]>,
) -> Option<&'a Redirects> {
if let Some(redirects_vec) = redirects_opts {
for redirect_entry in redirects_vec.iter() {
if let Some(host) = &redirect_entry.host {
tracing::debug!(
"checking host '{host}' redirect entry against uri host '{uri_host}'"
);
if !host.eq(uri_host) {
continue;
}
}
if redirect_entry.source.is_match(uri_path) {
return Some(redirect_entry);
}
}
}
None
}