mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
Rename get_headerdef into get_header_value
This commit is contained in:
@@ -75,7 +75,7 @@ impl Aheader {
|
||||
wanted_from: &str,
|
||||
headers: &[mailparse::MailHeader<'_>],
|
||||
) -> Option<Self> {
|
||||
if let Ok(Some(value)) = headers.get_headerdef(HeaderDef::Autocrypt) {
|
||||
if let Ok(Some(value)) = headers.get_header_value(HeaderDef::Autocrypt) {
|
||||
match Self::from_str(&value) {
|
||||
Ok(header) => {
|
||||
if addr_cmp(&header.addr, wanted_from) {
|
||||
|
||||
@@ -125,7 +125,7 @@ pub fn try_decrypt(
|
||||
) -> Result<(Option<Vec<u8>>, HashSet<String>)> {
|
||||
let from = mail
|
||||
.headers
|
||||
.get_headerdef(HeaderDef::From_)?
|
||||
.get_header_value(HeaderDef::From_)?
|
||||
.and_then(|from_addr| mailparse::addrparse(&from_addr).ok())
|
||||
.and_then(|from| from.extract_single_info())
|
||||
.map(|from| from.addr)
|
||||
|
||||
@@ -53,11 +53,11 @@ impl HeaderDef {
|
||||
}
|
||||
|
||||
pub trait HeaderDefMap {
|
||||
fn get_headerdef(&self, headerdef: HeaderDef) -> Result<Option<String>, MailParseError>;
|
||||
fn get_header_value(&self, headerdef: HeaderDef) -> Result<Option<String>, MailParseError>;
|
||||
}
|
||||
|
||||
impl HeaderDefMap for [MailHeader<'_>] {
|
||||
fn get_headerdef(&self, headerdef: HeaderDef) -> Result<Option<String>, MailParseError> {
|
||||
fn get_header_value(&self, headerdef: HeaderDef) -> Result<Option<String>, MailParseError> {
|
||||
self.get_first_value(headerdef.get_headername())
|
||||
}
|
||||
}
|
||||
@@ -76,19 +76,22 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
/// Test that headers are parsed case-insensitively
|
||||
fn headerdef_case() {
|
||||
fn test_get_header_value_case() {
|
||||
let (headers, _) =
|
||||
mailparse::parse_headers(b"fRoM: Bob\naUtoCryPt-SeTup-MessAge: v99").unwrap();
|
||||
assert_eq!(
|
||||
headers
|
||||
.get_headerdef(HeaderDef::AutocryptSetupMessage)
|
||||
.get_header_value(HeaderDef::AutocryptSetupMessage)
|
||||
.unwrap(),
|
||||
Some("v99".to_string())
|
||||
);
|
||||
assert_eq!(
|
||||
headers.get_headerdef(HeaderDef::From_).unwrap(),
|
||||
headers.get_header_value(HeaderDef::From_).unwrap(),
|
||||
Some("Bob".to_string())
|
||||
);
|
||||
assert_eq!(headers.get_headerdef(HeaderDef::Autocrypt).unwrap(), None);
|
||||
assert_eq!(
|
||||
headers.get_header_value(HeaderDef::Autocrypt).unwrap(),
|
||||
None
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1302,7 +1302,7 @@ fn get_fetch_headers(prefetch_msg: &Fetch) -> Result<Vec<mailparse::MailHeader>>
|
||||
}
|
||||
|
||||
fn prefetch_get_message_id(headers: &[mailparse::MailHeader]) -> Result<String> {
|
||||
if let Some(message_id) = headers.get_headerdef(HeaderDef::MessageId)? {
|
||||
if let Some(message_id) = headers.get_header_value(HeaderDef::MessageId)? {
|
||||
Ok(parse_message_id(&message_id)?)
|
||||
} else {
|
||||
Err(Error::Other("prefetch: No message ID found".to_string()))
|
||||
@@ -1313,13 +1313,13 @@ fn prefetch_is_reply_to_chat_message(
|
||||
context: &Context,
|
||||
headers: &[mailparse::MailHeader],
|
||||
) -> Result<bool> {
|
||||
if let Some(value) = headers.get_headerdef(HeaderDef::InReplyTo)? {
|
||||
if let Some(value) = headers.get_header_value(HeaderDef::InReplyTo)? {
|
||||
if is_msgrmsg_rfc724_mid_in_list(context, &value) {
|
||||
return Ok(true);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(value) = headers.get_headerdef(HeaderDef::References)? {
|
||||
if let Some(value) = headers.get_header_value(HeaderDef::References)? {
|
||||
if is_msgrmsg_rfc724_mid_in_list(context, &value) {
|
||||
return Ok(true);
|
||||
}
|
||||
@@ -1333,15 +1333,17 @@ fn prefetch_should_download(
|
||||
headers: &[mailparse::MailHeader],
|
||||
show_emails: ShowEmails,
|
||||
) -> Result<bool> {
|
||||
let is_chat_message = headers.get_headerdef(HeaderDef::ChatVersion)?.is_some();
|
||||
let is_chat_message = headers.get_header_value(HeaderDef::ChatVersion)?.is_some();
|
||||
let is_reply_to_chat_message = prefetch_is_reply_to_chat_message(context, &headers)?;
|
||||
|
||||
// Autocrypt Setup Message should be shown even if it is from non-chat client.
|
||||
let is_autocrypt_setup_message = headers
|
||||
.get_headerdef(HeaderDef::AutocryptSetupMessage)?
|
||||
.get_header_value(HeaderDef::AutocryptSetupMessage)?
|
||||
.is_some();
|
||||
|
||||
let from_field = headers.get_headerdef(HeaderDef::From_)?.unwrap_or_default();
|
||||
let from_field = headers
|
||||
.get_header_value(HeaderDef::From_)?
|
||||
.unwrap_or_default();
|
||||
|
||||
let (_contact_id, blocked_contact, origin) = from_field_to_contact_id(context, &from_field)?;
|
||||
let accepted_contact = origin.is_known();
|
||||
|
||||
@@ -96,7 +96,7 @@ impl MimeMessage {
|
||||
|
||||
let message_time = mail
|
||||
.headers
|
||||
.get_headerdef(HeaderDef::Date)?
|
||||
.get_header_value(HeaderDef::Date)?
|
||||
.and_then(|v| mailparse::dateparse(&v).ok())
|
||||
.unwrap_or_default();
|
||||
|
||||
@@ -782,18 +782,18 @@ impl MimeMessage {
|
||||
|
||||
// must be present
|
||||
if let Some(_disposition) = report_fields
|
||||
.get_headerdef(HeaderDef::Disposition)
|
||||
.get_header_value(HeaderDef::Disposition)
|
||||
.ok()
|
||||
.flatten()
|
||||
{
|
||||
if let Some(original_message_id) = report_fields
|
||||
.get_headerdef(HeaderDef::OriginalMessageId)
|
||||
.get_header_value(HeaderDef::OriginalMessageId)
|
||||
.ok()
|
||||
.flatten()
|
||||
.and_then(|v| parse_message_id(&v))
|
||||
{
|
||||
let additional_message_ids = report_fields
|
||||
.get_headerdef(HeaderDef::AdditionalMessageIds)
|
||||
.get_header_value(HeaderDef::AdditionalMessageIds)
|
||||
.ok()
|
||||
.flatten()
|
||||
.map_or_else(Vec::new, |v| {
|
||||
@@ -809,7 +809,7 @@ impl MimeMessage {
|
||||
warn!(
|
||||
context,
|
||||
"ignoring unknown disposition-notification, Message-Id: {:?}",
|
||||
report_fields.get_headerdef(HeaderDef::MessageId).ok()
|
||||
report_fields.get_header_value(HeaderDef::MessageId).ok()
|
||||
);
|
||||
|
||||
Ok(None)
|
||||
|
||||
Reference in New Issue
Block a user