hitbox-http 0.2.0

Cacheable HTTP Request and Response
Documentation
[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"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[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"

# test for axum body
axum = { workspace = true }
http-serde = "2.1.1"

# Optional rkyv support
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