use crate::{Decode, Error, Reader, Result};
type Inner<'i> = pem_rfc7468::Decoder<'i>;
pub struct PemReader<'i> {
inner: Inner<'i>,
remaining_len: usize,
}
impl<'i> PemReader<'i> {
pub fn new(pem: &'i [u8]) -> Result<Self> {
let inner = Inner::new_detect_wrap(pem)?;
let remaining_len = inner.remaining_len();
Ok(Self {
inner,
remaining_len,
})
}
pub fn type_label(&self) -> &'i str {
self.inner.type_label()
}
}
impl_reader_for_newtype!(PemReader<'_>);