mandrean/har-rs

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

Rust

51

68 commits

updated Mar 22, 2026

See the code

README

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.

charles-proxy
deserialization
har
http-archive-format
rust
rust-library
serde
serde-json
serde-serialization
serialization

Contributors

mandrean

60 commits

rbtcollins

2 commits

Kalhama

1 commits

nox

1 commits

mandrean/har-rs

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

Rust

51

68 commits

updated Mar 22, 2026

See the code

README

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.

charles-proxy
deserialization
har
http-archive-format
rust
rust-library
serde
serde-json
serde-serialization
serialization

Contributors

mandrean

60 commits

rbtcollins

2 commits

Kalhama

1 commits

nox

1 commits

Languages

Rust

100.0%