* 02110-1301, USA.
*/
-use nom7::{
+use nom8::{
bytes::streaming::{take, take_until},
combinator::map_res,
- IResult,
+ IResult, Parser,
};
use std;
}
pub fn parse_message(i: &[u8]) -> IResult<&[u8], String> {
- let (i, len) = map_res(map_res(take_until(":"), std::str::from_utf8), parse_len)(i)?;
- let (i, _sep) = take(1_usize)(i)?;
- let (i, msg) = map_res(take(len as usize), std::str::from_utf8)(i)?;
+ let (i, len) = map_res(map_res(take_until(":"), std::str::from_utf8), parse_len).parse(i)?;
+ let (i, _sep) = take(1_usize).parse(i)?;
+ let (i, msg) = map_res(take(len as usize), std::str::from_utf8).parse(i)?;
let result = msg.to_string();
Ok((i, result))
}
#[cfg(test)]
mod tests {
use super::*;
- use nom7::Err;
+ use nom8::Err;
/// Simple test of some valid data.
#[test]
use crate::conf::conf_get;
use crate::core::{ALPROTO_UNKNOWN, IPPROTO_TCP};
use crate::flow::Flow;
-use nom7 as nom;
+use nom8 as nom;
+use nom8::{AsChar, Parser};
use std;
use std::collections::VecDeque;
use std::ffi::CString;
/// characters for that pattern.
fn probe(input: &[u8]) -> nom::IResult<&[u8], ()> {
let size = std::cmp::min(10, input.len());
- let (rem, prefix) = nom::bytes::complete::take(size)(input)?;
+ let (rem, prefix) = nom::bytes::complete::take(size).parse(input)?;
nom::sequence::terminated(
- nom::bytes::complete::take_while1(nom::character::is_digit),
+ nom::bytes::complete::take_while1(|c: u8| c.is_dec_digit()),
nom::bytes::complete::tag(":"),
- )(prefix)?;
+ ).parse(prefix)?;
Ok((rem, ()))
}