#http-header #etag #if-match #if-none-match

no-std entity-tag

This crate provides a EntityTag structure and functions to deal with the ETag header field of HTTP

8 releases

0.1.8 Sep 11, 2023
0.1.7 Apr 6, 2023
0.1.6 Mar 6, 2022
0.1.5 Apr 26, 2021

#1555 in Parser implementations

Download history 35/week @ 2024-11-17 78/week @ 2024-11-24 50/week @ 2024-12-01 120/week @ 2024-12-08 68/week @ 2024-12-15 4/week @ 2024-12-22 6/week @ 2024-12-29 28/week @ 2025-01-05 64/week @ 2025-01-12 90/week @ 2025-01-19 49/week @ 2025-01-26 91/week @ 2025-02-02 87/week @ 2025-02-09 84/week @ 2025-02-16 117/week @ 2025-02-23 131/week @ 2025-03-02

430 downloads per month
Used in 10 crates (via rocket-etag-if-none-match)

MIT license

14KB
264 lines

Entity Tag

CI

This crate provides a EntityTag structure and functions to deal with the ETag header field of HTTP.

Examples

use entity_tag::EntityTag;

let etag1 = EntityTag::with_str(true, "foo").unwrap();
let etag2 = EntityTag::from_str("\"foo\"").unwrap();

assert_eq!(true, etag1.weak);
assert_eq!(false, etag2.weak);

assert!(etag1.weak_eq(&etag2));
assert!(etag1.strong_ne(&etag2));

let etag3 = EntityTag::from_data(true, &[102, 111, 111]).unwrap();
assert_eq!("W/\"972Sf7Z4eu8\"", etag3.to_string());

let etag4 = EntityTag::from_file_meta(&std::fs::File::open("tests/data/P1060382.JPG").unwrap().metadata().unwrap());
println!("{}", etag4) // W/"HRScBWR0Mf4"

No Std

Disable the default features to compile this crate without std.

[dependencies.entity-tag]
version = "*"
default-features = false

Crates.io

https://crates.io/crates/entity-tag

Documentation

https://docs.rs/entity-tag

License

MIT

Dependencies

~355KB