Struct sequoia_openpgp::armor::Writer
source · pub struct Writer<W: Write> { /* private fields */ }
Expand description
A filter that applies ASCII Armor to the data written to it.
Implementations§
source§impl<W: Write> Writer<W>
impl<W: Write> Writer<W>
sourcepub fn new(inner: W, kind: Kind) -> Result<Self>
pub fn new(inner: W, kind: Kind) -> Result<Self>
Constructs a new filter for the given type of data.
Examples
use std::io::{Read, Write, Cursor};
use sequoia_openpgp as openpgp;
use openpgp::armor::{Writer, Kind};
let mut writer = Writer::new(Vec::new(), Kind::File)?;
writer.write_all(b"Hello world!")?;
let buffer = writer.finalize()?;
assert_eq!(
String::from_utf8_lossy(&buffer),
"-----BEGIN PGP ARMORED FILE-----
SGVsbG8gd29ybGQh
=s4Gu
-----END PGP ARMORED FILE-----
");
sourcepub fn with_headers<I, K, V>(inner: W, kind: Kind, headers: I) -> Result<Self>where
I: IntoIterator<Item = (K, V)>,
K: AsRef<str>,
V: AsRef<str>,
pub fn with_headers<I, K, V>(inner: W, kind: Kind, headers: I) -> Result<Self>where
I: IntoIterator<Item = (K, V)>,
K: AsRef<str>,
V: AsRef<str>,
Constructs a new filter for the given type of data.
Examples
use std::io::{Read, Write, Cursor};
use sequoia_openpgp as openpgp;
use openpgp::armor::{Writer, Kind};
let mut writer = Writer::with_headers(Vec::new(), Kind::File,
vec![("Key", "Value")])?;
writer.write_all(b"Hello world!")?;
let buffer = writer.finalize()?;
assert_eq!(
String::from_utf8_lossy(&buffer),
"-----BEGIN PGP ARMORED FILE-----
Key: Value
SGVsbG8gd29ybGQh
=s4Gu
-----END PGP ARMORED FILE-----
");
Trait Implementations§
source§impl<W: Write> Write for Writer<W>
impl<W: Write> Write for Writer<W>
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more