imap_proto/parser/
mod.rs

1use crate::types::Response;
2use nom::{branch::alt, IResult};
3
4pub mod core;
5
6pub mod bodystructure;
7pub mod gmail;
8pub mod rfc2087;
9pub mod rfc2971;
10pub mod rfc3501;
11pub mod rfc4314;
12pub mod rfc4315;
13pub mod rfc4551;
14pub mod rfc5161;
15pub mod rfc5256;
16pub mod rfc5464;
17pub mod rfc7162;
18
19#[cfg(test)]
20mod tests;
21
22pub fn parse_response(msg: &[u8]) -> ParseResult<'_> {
23    alt((
24        rfc3501::continue_req,
25        rfc3501::response_data,
26        rfc3501::response_tagged,
27    ))(msg)
28}
29
30pub type ParseResult<'a> = IResult<&'a [u8], Response<'a>>;