pub struct Decoder<'i> { /* private fields */ }Expand description
Buffered PEM decoder.
Stateful buffered decoder type which decodes an input PEM document according to RFC 7468’s “Strict” grammar.
Implementations§
Source§impl<'i> Decoder<'i>
impl<'i> Decoder<'i>
Sourcepub fn new(pem: &'i [u8]) -> Result<Self>
pub fn new(pem: &'i [u8]) -> Result<Self>
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<Self>
pub fn new_wrapped(pem: &'i [u8], line_width: usize) -> Result<Self>
Create a new PEM Decoder which wraps at the given line width.
Sourcepub fn new_detect_wrap(pem: &'i [u8]) -> Result<Self>
pub fn new_detect_wrap(pem: &'i [u8]) -> Result<Self>
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]>
pub fn decode<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8]>
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]>
pub fn decode_to_end<'o>(&mut self, buf: &'o mut Vec<u8>) -> Result<&'o [u8]>
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?