[][src]Crate webbundle

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);

Creating a bundle from files

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)?;

Structs

Builder

A Bundle builder.

Bundle

Represents a WebBundle.

Exchange

Represents an HTTP exchange, a pair of a request and a response.

Uri

The URI component of a request.

Enums

Version

Represents the version of WebBundle.

Type Definitions

Body
Request
Response
Result

Result<T, Error>