7 releases

0.2.1 Dec 26, 2024
0.2.0 Oct 9, 2024
0.1.4 Oct 9, 2024
0.1.2 Apr 19, 2022
0.1.1 Feb 15, 2022

#741 in Network programming

Download history 3162/week @ 2024-09-23 3427/week @ 2024-09-30 3993/week @ 2024-10-07 3097/week @ 2024-10-14 3242/week @ 2024-10-21 3178/week @ 2024-10-28 3075/week @ 2024-11-04 2596/week @ 2024-11-11 2924/week @ 2024-11-18 2560/week @ 2024-11-25 2797/week @ 2024-12-02 3750/week @ 2024-12-09 3233/week @ 2024-12-16 2068/week @ 2024-12-23 2040/week @ 2024-12-30 4276/week @ 2025-01-06

11,734 downloads per month
Used in 5 crates (via async_http_range_reader)

MIT/Apache

15KB
229 lines

http-content-range

GitHub crates.io version docs.rs docs crates.io version CI build

Tiny Rust lib to decode Content-Range response headers.

use http_content_range::ContentRange;

let value = ContentRange::parse("bytes 42-69/420");

match value.expect("Failed to parse Content-Range") {
    ContentRange::Bytes(r) => {
        println!(
            "First_byte={}, last_byte={}, complete_length={}",
            r.first_byte, r.last_byte, r.complete_length,
        );
    }
    ContentRange::UnboundBytes(r) => {
        println!(
            "First_byte={}, last_byte={}, complete_length is unknown",
            r.first_byte, r.last_byte
        );
    }
    ContentRange::Unsatisfied(r) => {
        println!(
            "Unsatisfied response, complete_length={}",
            r.complete_length
        );
    }
};

Development

  • This project is easier to develop with just, a modern alternative to make. Install it with cargo install just.
  • To get a list of available commands, run just.
  • To run tests, use just test.

Credits

The code was inspired by the rust-http-range crate.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps