[package]
edition = "2024"
rust-version = "1.88.0"
name = "kekse"
version = "0.2.0"
authors = ["Stefan Grönke"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A strict, dependency-light cookie codec: a Set-Cookie builder and a Cookie-header parser built on the RFC 6265 grammar."
homepage = "https://github.com/gronke/kekse"
documentation = "https://docs.rs/kekse"
readme = "README.md"
keywords = [
"cookie",
"http",
"rfc6265",
"set-cookie",
"codec",
]
categories = [
"web-programming",
"encoding",
"network-programming",
]
license = "MIT"
repository = "https://github.com/gronke/kekse"
[package.metadata.docs.rs]
all-features = true
[features]
axum = ["dep:axum-core"]
default = []
hardened = [
"psl",
"idna",
]
idna = ["rfc_6265/idna"]
psl = ["rfc_6265/psl"]
serde = [
"dep:serde",
"store",
]
store = [
"rfc_6265/domain",
"rfc_6265/path",
"dep:url",
]
tracing = ["dep:tracing"]
[lib]
name = "kekse"
path = "src/lib.rs"
[[example]]
name = "axum_extractor"
path = "examples/axum_extractor.rs"
required-features = ["axum"]
[[example]]
name = "build_set_cookie"
path = "examples/build_set_cookie.rs"
[[example]]
name = "encodings"
path = "examples/encodings.rs"
[[example]]
name = "fail_soft"
path = "examples/fail_soft.rs"
[[example]]
name = "parse_request"
path = "examples/parse_request.rs"
[[example]]
name = "strict_vs_lenient"
path = "examples/strict_vs_lenient.rs"
[[test]]
name = "axum"
path = "tests/axum.rs"
[[test]]
name = "extractor"
path = "tests/extractor.rs"
[[test]]
name = "rfc6265_cookie_header"
path = "tests/rfc6265_cookie_header.rs"
[[test]]
name = "rfc6265_cookie_octet"
path = "tests/rfc6265_cookie_octet.rs"
[[test]]
name = "rfc6265_set_cookie_parsing"
path = "tests/rfc6265_set_cookie_parsing.rs"
[[test]]
name = "rfc7230_token"
path = "tests/rfc7230_token.rs"
[[test]]
name = "rfc7231_http_date"
path = "tests/rfc7231_http_date.rs"
[[test]]
name = "samesite"
path = "tests/samesite.rs"
[[test]]
name = "store"
path = "tests/store.rs"
[[bench]]
name = "allocs"
path = "benches/allocs.rs"
harness = false
[[bench]]
name = "codec"
path = "benches/codec.rs"
harness = false
[dependencies.axum-core]
version = "0.5"
optional = true
[dependencies.http]
version = "1"
[dependencies.percent-encoding]
version = "2"
[dependencies.rfc_6265]
version = "0.1.1"
features = ["date"]
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.url]
version = "2"
optional = true
[dev-dependencies.axum]
version = "0.8"
features = ["macros"]
[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.time]
version = "0.3"
features = [
"std",
"parsing",
"formatting",
"macros",
]
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.tower]
version = "0.5"
features = ["util"]