[package]
edition = "2024"
rust-version = "1.88.0"
name = "sozu-lib"
version = "2.0.2"
authors = [
"Clément Delafargue <clement@delafargue.name>",
"Geoffroy Couprie <geo.couprie@gmail.com>",
"Eloi Demolis <eloi.demolis@clever-cloud.com>",
"Emmanuel Bosquet <emmanuel.bosquet@clever-cloud.com>",
"Florentin Dubois <florentin.dubois@clever-cloud.com>",
]
build = "build.rs"
include = [
"./README.md",
"Cargo.toml",
"build.rs",
"log_scanner.rs",
"src/**/*",
"/examples/*",
"benches/**/*",
"assets/certificate.pem",
"assets/certificate_chain.pem",
"assets/key.pem",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "sozu library to build hot reconfigurable HTTP reverse proxies"
homepage = "https://sozu.io"
documentation = "https://docs.rs/sozu-lib"
readme = "README.md"
categories = ["network-programming"]
license = "AGPL-3.0"
repository = "https://github.com/sozu-proxy/sozu"
resolver = "2"
[badges.travis-ci]
repository = "sozu-proxy/sozu"
[features]
crypto-aws-lc-rs = ["rustls/aws-lc-rs"]
crypto-openssl = ["dep:rustls-openssl"]
crypto-ring = ["rustls/ring"]
default = ["crypto-ring"]
e2e-hooks = []
fips = [
"crypto-aws-lc-rs",
"rustls/fips",
]
logs-debug = []
logs-trace = []
opentelemetry = []
simd = ["kawa/simd"]
splice = []
tolerant-http1-parser = ["kawa/tolerant-parsing"]
[lib]
name = "sozu_lib"
path = "src/lib.rs"
[[example]]
name = "http"
path = "examples/http.rs"
[[example]]
name = "https"
path = "examples/https.rs"
[[example]]
name = "tcp"
path = "examples/tcp.rs"
[[bench]]
name = "crypto_provider"
path = "benches/crypto_provider.rs"
harness = false
[[bench]]
name = "h2_scheduling"
path = "benches/h2_scheduling.rs"
harness = false
[[bench]]
name = "header_formatting"
path = "benches/header_formatting.rs"
harness = false
[dependencies.anyhow]
version = "^1.0.102"
[dependencies.base64]
version = "^0.22.1"
[dependencies.cookie-factory]
version = "^0.3.3"
[dependencies.hdrhistogram]
version = "^7.5.4"
[dependencies.hex]
version = "^0.4.3"
[dependencies.idna]
version = "^1.1.0"
[dependencies.itoa]
version = "^1.0.18"
[dependencies.kawa]
version = "^0.6.8"
default-features = false
[dependencies.libc]
version = "^0.2.186"
[dependencies.loona-hpack]
version = "^0.4.3"
[dependencies.memchr]
version = "^2.8.1"
[dependencies.mio]
version = "^1.2.0"
features = [
"os-poll",
"os-ext",
"net",
]
[dependencies.nom]
version = "^7.1.3"
features = ["std"]
[dependencies.poule]
version = "^0.3.2"
[dependencies.rand]
version = "^0.10.1"
[dependencies.regex]
version = "^1.12.3"
[dependencies.rustls]
version = "^0.23.40"
features = [
"logging",
"std",
"tls12",
]
default-features = false
[dependencies.rustls-openssl]
version = "^0.3.1"
features = ["tls12"]
optional = true
default-features = false
[dependencies.rusty_ulid]
version = "^2.0.0"
[dependencies.sha2]
version = "^0.11.0"
[dependencies.slab]
version = "^0.4.12"
[dependencies.socket2]
version = "^0.6.3"
features = ["all"]
[dependencies.sozu-command-lib]
version = "^2.0.2"
[dependencies.subtle]
version = "^2.6.1"
[dependencies.thiserror]
version = "^2.0.18"
[dev-dependencies.criterion]
version = "^0.8.2"
features = ["html_reports"]
[dev-dependencies.quickcheck]
version = "^1.1.0"
[dev-dependencies.rand]
version = "^0.10.1"
[dev-dependencies.serial_test]
version = "^3.4.0"
[dev-dependencies.tiny_http]
version = "^0.12.0"