[package]
edition = "2024"
name = "harrow"
version = "0.9.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A thin, macro-free HTTP framework over Hyper with opt-in observability"
readme = "README.md"
license = "MIT"
repository = "https://github.com/l1x/harrow"
resolver = "2"
[features]
body-limit = [
"dep:harrow-middleware",
"harrow-middleware/body-limit",
]
catch-panic = [
"dep:harrow-middleware",
"harrow-middleware/catch-panic",
]
compression = [
"dep:harrow-middleware",
"harrow-middleware/compression",
]
compression-br = [
"dep:harrow-middleware",
"harrow-middleware/compression-br",
]
cors = [
"dep:harrow-middleware",
"harrow-middleware/cors",
]
default = []
json = ["harrow-core/json"]
monoio = ["dep:harrow-server-monoio"]
msgpack = ["harrow-core/msgpack"]
o11y = [
"dep:harrow-middleware",
"harrow-middleware/o11y",
"dep:harrow-o11y",
"dep:rolly",
]
openapi = [
"harrow-core/openapi",
"dep:bytes",
]
profiling = [
"harrow-core/profiling",
"harrow-server-tokio?/profiling",
]
rate-limit = [
"dep:harrow-middleware",
"harrow-middleware/rate-limit",
]
request-id = [
"dep:harrow-middleware",
"harrow-middleware/request-id",
]
session = [
"dep:harrow-middleware",
"harrow-middleware/session",
]
tls = ["harrow-server-tokio/tls"]
tokio = ["dep:harrow-server-tokio"]
ws = ["harrow-server-tokio/ws"]
[lib]
name = "harrow"
path = "src/lib.rs"
[[example]]
name = "hello"
path = "examples/hello.rs"
required-features = [
"tokio",
"o11y",
"json",
]
[[example]]
name = "monoio_hello"
path = "examples/monoio_hello.rs"
required-features = [
"monoio",
"json",
]
[[example]]
name = "vegeta_target_monoio"
path = "examples/vegeta_target_monoio.rs"
required-features = [
"monoio",
"json",
]
[[example]]
name = "vegeta_target_tokio"
path = "examples/vegeta_target_tokio.rs"
required-features = [
"tokio",
"request-id",
"cors",
"session",
"json",
]
[dependencies.bytes]
version = "1"
optional = true
[dependencies.harrow-core]
version = "0.9.4"
[dependencies.harrow-middleware]
version = "0.9.4"
optional = true
[dependencies.harrow-o11y]
version = "0.9.4"
optional = true
[dependencies.harrow-server-monoio]
version = "0.9.4"
optional = true
[dependencies.harrow-server-tokio]
version = "0.9.4"
optional = true
[dependencies.rolly]
version = "0.10"
optional = true
[dev-dependencies.http]
version = "1"
[dev-dependencies.monoio]
version = "0.2"
features = ["bytes"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.tracing]
version = "0.1"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]