oxid_sip 0.1.1

rust sip server
Documentation
use nom::IResult;
use nom::Parser;
use nom::character::complete::{line_ending, not_line_ending};

pub fn parse_first_line(input: &str) -> IResult<&str, (&str, &str)> {
    ((not_line_ending, line_ending)).parse(input)
}

pub fn parse_headers(input: &str) -> IResult<&str, (&str, &str)> {
    ((not_line_ending, line_ending)).parse(input)
}

pub fn parse_body(input: &str) -> IResult<&str, &str> {
    (not_line_ending).parse(input)
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_works() {
        assert_eq!(
            parse_first_line("INVIET 8001 SIP/2.0\r\nCall-ID: 1\r\n\r\n"),
            Ok(("Call-ID: 1\r\n\r\n", ("INVIET 8001 SIP/2.0", "\r\n")))
        );
    }
}