Advertisement
Guest User

Untitled

a guest
Nov 2nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 0.76 KB | None | 0 0
  1. fn header_field<'a, T>(input: T) -> IResult<T, (&'a str, &'a str), u32>
  2. where
  3.  T: 'a,
  4.   T: Slice<Range<usize>> + Slice<RangeFrom<usize>> + Slice<RangeTo<usize>>,
  5.   T: Clone + Offset,
  6.   T: AsBytes + InputIter + AtEof,
  7.   T: PartialEq,
  8.   T: FindSubstring<&'a [u8]>,
  9.  <T as InputIter>::Item: AsChar,
  10.  T: InputTakeAtPosition,
  11.  <T as InputTakeAtPosition>::Item: AsChar
  12. {
  13.    do_parse!(input,
  14.        key: map_res!(
  15.                map!(take_until_and_consume!(b":" as &[u8]),
  16.                     |a| a.as_bytes()),
  17.                std::str::from_utf8) >>
  18.        val: map_res!(
  19.                map!(take_until_and_consume!(b"\r" as &[u8]),
  20.                     |a| a.as_bytes()),
  21.                std::str::from_utf8) >>
  22.        (key.trim(), val)
  23.    )
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement