rocket::mtls::oid::asn1_rs::nom::error

Function dbg_dmp

Source
pub fn dbg_dmp<'a, F, O, E>(f: F, context: &'static str) -> impl Fn(&'a [u8])
where E: Debug, F: Fn(&'a [u8]) -> Result<(&'a [u8], O), Err<E>>,
Available on crate feature mtls only.
Expand description

Prints a message and the input if the parser fails.

The message prints the Error or Incomplete and the parser’s calling code.

It also displays the input in hexdump format

use nom::{IResult, error::dbg_dmp, bytes::complete::tag};

fn f(i: &[u8]) -> IResult<&[u8], &[u8]> {
  dbg_dmp(tag("abcd"), "tag")(i)
}

  let a = &b"efghijkl"[..];

// Will print the following message:
// Error(Position(0, [101, 102, 103, 104, 105, 106, 107, 108])) at l.5 by ' tag ! ( "abcd" ) '
// 00000000        65 66 67 68 69 6a 6b 6c         efghijkl
f(a);