From d132de48347cd110ca0f6c8514b7436bc79e0d2a Mon Sep 17 00:00:00 2001 From: Jon Gjengset Date: Fri, 27 Apr 2018 16:27:38 -0400 Subject: [PATCH] New imap-proto --- Cargo.toml | 2 +- src/parse.rs | 2 ++ src/types/fetch.rs | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 54b0177..4d0a16e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ path = "src/lib.rs" native-tls = "0.1" regex = "0.2" bufstream = "0.1" -imap-proto = "0.4" +imap-proto = "0.4.1" nom = "3.2.1" [dev-dependencies] diff --git a/src/parse.rs b/src/parse.rs index 07546c9..43f36f7 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -82,6 +82,7 @@ pub fn parse_fetches(lines: Vec) -> ZeroCopyResult> { message: num, flags: vec![], uid: None, + rfc822_header: None, rfc822: None, }; @@ -93,6 +94,7 @@ pub fn parse_fetches(lines: Vec) -> ZeroCopyResult> { } AttributeValue::Uid(uid) => fetch.uid = Some(uid), AttributeValue::Rfc822(rfc) => fetch.rfc822 = rfc, + AttributeValue::Rfc822Header(rfc) => fetch.rfc822_header = rfc, _ => {} } } diff --git a/src/types/fetch.rs b/src/types/fetch.rs index 23f900d..e882555 100644 --- a/src/types/fetch.rs +++ b/src/types/fetch.rs @@ -5,6 +5,7 @@ pub struct Fetch { pub message: u32, pub(crate) flags: Vec<&'static str>, pub uid: Option, + pub(crate) rfc822_header: Option<&'static [u8]>, pub(crate) rfc822: Option<&'static [u8]>, } @@ -13,6 +14,10 @@ impl Fetch { &self.flags[..] } + pub fn rfc822_header<'a>(&'a self) -> Option<&'a [u8]> { + self.rfc822_header + } + pub fn rfc822<'a>(&'a self) -> Option<&'a [u8]> { self.rfc822 }