[package]
name = "hitbox-http"
version = "0.2.0"
authors.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
categories = [
"caching",
"asynchronous",
"web-programming",
"network-programming",
]
description = "Cacheable HTTP Request and Response"
readme = "README.md"
keywords = ["cache", "async", "http", "hitbox"]
[dependencies]
serde_bytes = "0.11"
async-trait = { workspace = true }
http = { workspace = true }
http-body = { workspace = true }
http-body-util = { workspace = true }
hitbox = { path = "../hitbox", version = "0.2" }
hitbox-backend = { path = "../hitbox-backend", version = "0.2", default-features = false }
bytes = { workspace = true }
chrono = { workspace = true }
hyper = { workspace = true }
futures = { workspace = true }
pin-project = { workspace = true }
actix-router = "0.5"
serde_qs = "0.15"
serde = { workspace = true }
serde_json = { workspace = true }
jaq-core = "2.1.0"
jaq-std = "2.1.0"
jaq-json = { version = "1.1.0", features = ["serde_json"] }
prost = "0.14"
prost-reflect = { version = "0.16", features = ["serde", "derive"] }
protox = "0.9"
regex = { workspace = true }
sha2 = "0.10"
hex = "0.4"
axum = { workspace = true }
http-serde = "2.1.1"
rkyv = { workspace = true, optional = true }
[features]
default = []
rkyv_format = ["dep:rkyv", "hitbox/rkyv_format", "hitbox-backend/rkyv_format"]
[dev-dependencies]
hitbox-core = { path = "../hitbox-core", version = "0.2" }
bincode = { version = "2", features = ["serde"] }
tokio = { workspace = true, features = [
"test-util",
"macros",
"rt-multi-thread",
] }
criterion = { workspace = true, features = ["html_reports", "async_tokio"] }
ron = "0.12.0"
rkyv = { workspace = true }
[[bench]]
name = "predicate_performance"
harness = false