pub fn take_until_byte<I>(a: u8) -> TakeUntilByte<I>where
<I as StreamOnce>::Error: ParseError<<I as StreamOnce>::Item, <I as StreamOnce>::Range, <I as StreamOnce>::Position>,
I: RangeStream + FullRangeStream,
I::Range: AsRef<[u8]> + Range,
Expand description
Zero-copy parser which reads a range of 0 or more tokens until a
is found.
If a
is not found, the parser will return an error.
let mut parser = take_until_byte(b'\r');
let result = parser.parse("To: user@example.com\r\n");
assert_eq!(result, Ok(("To: user@example.com", "\r\n")));
let result = parser.parse("Hello, world\n");
assert!(result.is_err());