imap-codec 1.0.0

Rock-solid and complete codec for IMAP
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use imap_codec::{decode::Decoder, encode::Encoder, CommandCodec};

#[test]
fn test_from_readme() {
    let input = b"ABCD UID FETCH 1,2:* (BODY.PEEK[1.2.3.4.MIME]<42.1337>)\r\n";

    let (_remainder, parsed) = CommandCodec::default().decode(input).unwrap();
    println!("# Parsed\n\n{:#?}\n\n", parsed);

    let buffer = CommandCodec::default().encode(&parsed).dump();

    // Note: IMAP4rev1 may produce messages that are not valid UTF-8.
    println!("# Serialized\n\n{:?}", std::str::from_utf8(&buffer));
}