pub fn run_raw<R: BufRead, W: Write>(
config: &Config<'_>,
reader: R,
writer: W
) -> Result<(), IOError>
Expand description
Like alog::run
but will let you pass your own reader
and writer
. Replacement strings
and config flags will still be read from alog::Config
.
Errors
Returns an error if the new reader or writer retruns an error.
Example
use std::io::Cursor;
let line = Cursor::new(b"8.8.8.8 XxX");
let mut buffer = vec![];
alog::run_raw(&alog::Config::default(), line, &mut buffer).unwrap();
assert_eq!(buffer, b"127.0.0.1 XxX");
To read from Stdin and write to Stdout:
use std::io::{self, BufReader, BufWriter};
// Consider wrapping io::stdout in BufWriter
let stdin = io::stdin();
let stdout = io::stdout();
alog::run_raw(&alog::Config::default(), stdin.lock(), stdout.lock()).unwrap();