write_file/
write_file.rs

1use chrono::prelude::*;
2
3use warc::{BufferedBody, Record, RecordType, WarcHeader, WarcWriter};
4
5fn main() -> Result<(), std::io::Error> {
6    let date = Utc::now();
7    let body = format!("wrote to the file on {}", date);
8    let body = body.into_bytes();
9
10    let mut headers = Record::<BufferedBody>::new();
11    headers.set_warc_type(RecordType::WarcInfo);
12    headers.set_date(date);
13    headers
14        .set_header(WarcHeader::IPAddress, "127.0.0.1")
15        .expect("BUG: should be a valid IP address");
16    let record = headers.add_body(body);
17
18    let mut file = WarcWriter::from_path("warc_example.warc")?;
19
20    let bytes_written = file.write(&record)?;
21
22    println!("{} bytes written.", bytes_written);
23
24    Ok(())
25}