#[derive(Clone, Debug, Default, PartialEq)]
pub enum DkimCanonicalization<'hdr> {
#[default]
Simple,
Relaxed,
Unknown(&'hdr str),
}
use crate::error::DkimCanonicalizationError;
impl<'hdr> TryFrom<&'hdr str> for DkimCanonicalization<'hdr> {
type Error = DkimCanonicalizationError;
fn try_from(hdr: &'hdr str) -> Result<Self, Self::Error> {
let ret = match hdr {
"simple" => Self::Simple,
"simple/simple" => Self::Simple,
"relaxed" => Self::Relaxed,
"relaxed/relaxed" => Self::Relaxed,
"relaxed/simple" => Self::Relaxed,
_ => Self::Unknown(hdr),
};
Ok(ret)
}
}