pub enum RspamdCommand {
Scan,
Learnspam,
Learnham,
FuzzyAdd,
FuzzyDel,
}
pub struct RspamdEndpoint<'a> {
pub url: &'a str,
pub command: RspamdCommand,
pub need_body: bool,
}
impl<'a> RspamdEndpoint<'a> {
pub fn from_command(command: RspamdCommand) -> RspamdEndpoint<'a> {
match command {
RspamdCommand::Scan => Self {
url: "/checkv2",
command,
need_body: true,
},
RspamdCommand::Learnspam => Self {
url: "/learnspam",
command,
need_body: true,
},
RspamdCommand::Learnham => Self {
url: "/learnham",
command,
need_body: true,
},
RspamdCommand::FuzzyAdd => Self {
url: "/fuzzyadd",
command,
need_body: true,
},
RspamdCommand::FuzzyDel => Self {
url: "/fuzzydel",
command,
need_body: true,
},
}
}
}