diff --git a/notmuch/src/lib.rs b/notmuch/src/lib.rs index 5dea617..7bb783f 100644 --- a/notmuch/src/lib.rs +++ b/notmuch/src/lib.rs @@ -354,9 +354,21 @@ pub struct Part { #[serde(rename = "content-type")] pub content_type: String, #[serde(skip_serializing_if = "Option::is_none")] + #[serde(rename = "content-disposition")] + pub content_disposition: Option, + #[serde(skip_serializing_if = "Option::is_none")] + #[serde(rename = "content-transfer-encoding")] + pub content_transfer_encoding: Option, + #[serde(skip_serializing_if = "Option::is_none")] + #[serde(rename = "content-length")] + pub content_length: Option, + #[serde(skip_serializing_if = "Option::is_none")] #[serde(rename = "content-id")] pub content_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub content: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub filename: Option, } /// `encstatus = [{status: "good"|"bad"}]` @@ -497,7 +509,11 @@ impl Notmuch { } pub fn show_original(&self, id: &MessageId) -> Result, NotmuchError> { - let res = self.run_notmuch(["show", "--part=0", id])?; + self.show_original_part(id, 0) + } + + pub fn show_original_part(&self, id: &MessageId, part: usize) -> Result, NotmuchError> { + let res = self.run_notmuch(["show", "--part", &part.to_string(), id])?; Ok(res) }