msg_auth_status/dkim/
algorithm.rs1#[derive(Clone, Debug, PartialEq)]
5#[allow(non_camel_case_types)]
6pub enum DkimAlgorithm<'hdr> {
7 Rsa_Sha1,
9 Rsa_Sha256,
11 Ed25519_Sha256,
13 Unknown(&'hdr str),
15}
16
17use crate::error::DkimAlgorithmError;
18
19impl<'hdr> TryFrom<&'hdr str> for DkimAlgorithm<'hdr> {
20 type Error = DkimAlgorithmError;
21
22 fn try_from(algo: &'hdr str) -> Result<Self, Self::Error> {
23 let ret = match algo {
24 "rsa-sha1" => Self::Rsa_Sha1,
25 "rsa-sha256" => Self::Rsa_Sha256,
26 "ed25519-sha256" => Self::Ed25519_Sha256,
27 _ => Self::Unknown(algo),
28 };
29 Ok(ret)
30 }
31}