pub struct Header<'m> { /* private fields */ }Expand description
One header field: its name, its parsed value, and where it is in the
source buffer of its message (see crate::MessageRef::source).
Implementations§
Source§impl<'m> Header<'m>
impl<'m> Header<'m>
Sourcepub fn name(&self) -> HeaderName<'m>
pub fn name(&self) -> HeaderName<'m>
The name: a known variant, or Other with the original spelling.
Sourcepub fn value(&self) -> HeaderValue<'m>
pub fn value(&self) -> HeaderValue<'m>
The value, parsed with the form the parser used for this name.
Sourcepub fn raw_value(&self) -> &'m [u8] ⓘ
pub fn raw_value(&self) -> &'m [u8] ⓘ
The bytes after the colon up to the end of the field, final line break included.
Sourcepub fn parse_as(&self, form: HeaderForm) -> ParsedValue<'m>
pub fn parse_as(&self, form: HeaderForm) -> ParsedValue<'m>
Parses the raw value again with another form, for names the parser kept raw or parsed differently.
use mail_parser::{HeaderForm, MessageParser};
let raw = b"X-Sender: Jane <jane@example.com>\r\n\r\nbody";
let message = MessageParser::new().parse(raw).expect("message");
let header = message.headers().get("x-sender").expect("header");
let parsed = header.parse_as(HeaderForm::Addresses);
let sender = parsed.value().as_address().and_then(|list| list.first());
assert_eq!(sender.and_then(|mailbox| mailbox.address()), Some("jane@example.com"));Sourcepub fn offset_field(&self) -> u32
pub fn offset_field(&self) -> u32
Offset of the first byte of the name in the message’s source buffer.
Sourcepub fn offset_start(&self) -> u32
pub fn offset_start(&self) -> u32
Offset of the byte after the colon.
Sourcepub fn offset_end(&self) -> u32
pub fn offset_end(&self) -> u32
Offset of the byte after the final line break of the field. For the last field of a header block cut short by a MIME delimiter, this is one line break past the part’s body offset.
Trait Implementations§
Auto Trait Implementations§
impl<'m> Freeze for Header<'m>
impl<'m> RefUnwindSafe for Header<'m>
impl<'m> Send for Header<'m>
impl<'m> Sync for Header<'m>
impl<'m> Unpin for Header<'m>
impl<'m> UnsafeUnpin for Header<'m>
impl<'m> UnwindSafe for Header<'m>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more