pub struct Decoder<'i> {
type_label: &'i str,
base64: Decoder<'i, Base64>,
}Expand description
Buffered PEM decoder.
Stateful buffered decoder type which decodes an input PEM document according to RFC 7468’s “Strict” grammar.
Fields§
§type_label: &'i str§base64: Decoder<'i, Base64>Implementations§
Source§impl<'i> Decoder<'i>
impl<'i> Decoder<'i>
Sourcepub fn new(pem: &'i [u8]) -> Result<Decoder<'i>, Error>
pub fn new(pem: &'i [u8]) -> Result<Decoder<'i>, Error>
Create a new PEM Decoder with the default options.
Uses the default 64-character line wrapping.
Sourcepub fn new_wrapped(
pem: &'i [u8],
line_width: usize,
) -> Result<Decoder<'i>, Error>
pub fn new_wrapped( pem: &'i [u8], line_width: usize, ) -> Result<Decoder<'i>, Error>
Create a new PEM Decoder which wraps at the given line width.
Sourcepub fn new_detect_wrap(pem: &'i [u8]) -> Result<Decoder<'i>, Error>
pub fn new_detect_wrap(pem: &'i [u8]) -> Result<Decoder<'i>, Error>
Create a new PEM Decoder which automatically detects the line width the input is wrapped
at and flexibly handles widths other than the default 64-characters.
Note: unlike new and new_wrapped, this method is not constant-time.
Sourcepub fn type_label(&self) -> &'i str
pub fn type_label(&self) -> &'i str
Get the PEM type label for the input document.
Sourcepub fn decode<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8], Error>
pub fn decode<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8], Error>
Decode data into the provided output buffer.
There must be at least as much remaining Base64 input to be decoded
in order to completely fill buf.
Sourcepub fn decode_to_end<'o>(
&mut self,
buf: &'o mut Vec<u8>,
) -> Result<&'o [u8], Error>
pub fn decode_to_end<'o>( &mut self, buf: &'o mut Vec<u8>, ) -> Result<&'o [u8], Error>
Decode all of the remaining data in the input buffer into buf.
Sourcepub fn remaining_len(&self) -> usize
pub fn remaining_len(&self) -> usize
Get the decoded length of the remaining PEM data after Base64 decoding.
Sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
Are we finished decoding the PEM input?