WebBundle library
webbundle
is an experimental library for WebBundle format.
Example
WebBundle Parsing
use webbundle::Bundle;
use std::io::{Read as _};
let mut bytes = Vec::new();
std::fs::File::open("example.wbn")?.read_to_end(&mut bytes)?;
let bundle = Bundle::from_bytes(bytes)?;
println!("Parsed bundle: {:#?}", bundle);
# Result::Ok::<(), anyhow::Error>(())
Creating a bundle from files
# async {
use webbundle::{Bundle, Version};
let bundle = Bundle::builder()
.version(Version::VersionB1)
.primary_url("https://example.com/index.html".parse()?)
.exchanges_from_dir("assets", "https://example.com".parse()?).await?
.build()?;
println!("Created bundle: {:#?}", bundle);
let write = std::io::BufWriter::new(std::fs::File::create("example.wbn")?);
bundle.write_to(write)?;
# Result::Ok::<(), anyhow::Error>(())
# };