har 0.9.0

A HTTP Archive format (HAR) serialization & deserialization library.
Documentation

har-rs

HTTP Archive format (HAR) serialization & deserialization library, written in Rust.

CI Latest version Documentation License

Install

JSON-only use (default):

[dependencies]
har = "0.9"

Enable YAML serialization:

[dependencies]
har = { version = "0.9", features = ["yaml"] }

Use

HAR input is always parsed from JSON. JSON serialization is available by default. YAML serialization through to_yaml is available only when the yaml feature is enabled.

use har::{from_str, to_json, HarVersion};

fn main() -> Result<(), har::Error> {
    let input = r#"{
        "log": {
            "version": "1.2",
            "creator": { "name": "example", "version": "1.0" },
            "entries": []
        }
    }"#;

    let har = from_str(input)?;
    assert_eq!(har.version(), HarVersion::V1_2);

    println!("{}", to_json(&har)?);
    Ok(())
}

With the yaml feature enabled, you can also serialize parsed HAR documents as YAML:

use har::{from_str, to_yaml};

fn main() -> Result<(), har::Error> {
    let input = r#"{
        "log": {
            "version": "1.2",
            "creator": { "name": "example", "version": "1.0" },
            "entries": []
        }
    }"#;

    let har = from_str(input)?;
    println!("{}", to_yaml(&har)?);
    Ok(())
}

See docs.rs/har for the full library API documentation.

Contribute

This project follows semver and conventional commits. CI runs on GitHub Actions, and releases are prepared and published with release-plz on master.

See CHANGELOG.md for release history.

Note

Inspired by softprops/openapi.