http_typed_headers 0.1.0

This crate provides few typed http headers.
[package]
name = "http_typed_headers"
version = "0.1.0"
edition = "2021"
description = "This crate provides few typed http headers."
repository = "https://github.com/manomayam/manas"
license = "MIT OR Apache-2.0"

[dependencies]
once_cell = "1.18.0"
regex = "1.10.2"
thiserror = "1.0.43"
tracing = { version = "0.1.37", features = ["attributes"] }
unicase = { version = "2.6.0" }
ecow = "0.2.0"
headers = { version = "0.3.8" }
http = { version = "0.2.9" }
smallvec = { version = "1.11.0" }
vec1 = { version = "1.10.1", features = [
    "smallvec-v1",
    "smallvec-v1-write",
] }

# feature: location
itertools = { version = "0.11.0", optional = true }

# feature: www-authenticate
either = { version = "1.8.1", optional = true }

# feature: media-type, accept-x
mime = { version = "0.3.17", optional = true }

# feature: qvalue, accept
rust_decimal = { version = "1.30.0", optional = true }

# feature: link, location
iri-string = { version = "0.7.0", features = ["serde"], optional = true }

# feature: slug
percent-encoding = { version = "2.3.0", optional = true }

# feature: docsrs
document-features = { version = "0.2.7", optional = true }


[features]
qvalue = ["dep:rust_decimal"]
media-type = ["dep:mime"]
##! Enables `Accept` typed header.
accept = ["media-type", "qvalue"]
##! Enables `Accept-Post`, 1Accept-Put` , `Accept-Patch` typed headers.
accept-method = ["media-type"]
##! Enables `Link` typed header.
link = ["dep:iri-string"]
##! Enables `Location` typed header.
location = ["dep:iri-string", "itertools"]
##! Enables `Forwarded`, `X-Forwarded-*` typed headers.
forwarded = []
##! Enables `Prefer` typed header.
prefer = []
##! Enables `Wac-Allow` typed header.
wac-allow = []
##! Enables `Www-Authenticate` typed header.
www-authenticate = ["dep:either"]
##! Enables `Slug` typed header.
slug = ["dep:percent-encoding"]

default = [
    "accept",
    "accept-method",
    "link",
    "location",
    "forwarded",
    "prefer",
    "wac-allow",
    "www-authenticate",
    "slug",
]

[dev-dependencies]
claims = "0.7.1"
rstest = "0.18.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]