panorama/imap/src/proto/response.rs

34 lines
504 B
Rust
Raw Normal View History

2021-08-08 02:17:36 +00:00
use std::borrow::Cow;
#[derive(Clone)]
pub struct Tag(pub String);
pub enum Response<'a> {
Done(ResponseDone<'a>),
}
pub struct ResponseDone<'a> {
pub tag: Tag,
pub status: Status,
pub code: Option<ResponseCode<'a>>,
pub info: Option<Cow<'a, str>>,
}
pub enum Status {
Ok,
No,
Bad,
PreAuth,
Bye,
}
pub enum ResponseCode<'a> {
Capabilities(Vec<Capability<'a>>),
}
pub enum Capability<'a> {
Imap4rev1,
Auth(Cow<'a, str>),
Atom(Cow<'a, str>),
}