[package]
name = "veld"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
description = "A high-performance, nginx-compatible HTTP server and reverse proxy written in Rust."
license = "MIT"
authors = ["xinluw <cielxl@gmail.com>"]
repository = "https://github.com/xinluw/veld"
homepage = "https://github.com/xinluw/veld"
documentation = "https://github.com/xinluw/veld/blob/main/docs/USER_MANUAL.md"
readme = "README.md"
keywords = ["http", "http-server", "web-server", "reverse-proxy", "tokio"]
categories = ["web-programming::http-server", "network-programming"]
# Keep the published crate lean: ship only source, config, sample html and docs.
exclude = [
"release/",
"report/",
"benchmarks/",
"node_modules/",
"certs/",
"logs/",
"*.js",
"*.pdf",
"docs/performance.png",
]
[dependencies]
tokio = { version = "1", features = ["full"] }
# Use the `ring` crypto provider (not the default aws-lc-rs): the target
# build host (CentOS 7) has cmake 2.8 / gcc 4.8 / no nasm / no go, which
# aws-lc-rs cannot build with. ring builds from perl + the C compiler.
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "logging", "tls12"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
rustls-pemfile = "2"
clap = { version = "4", features = ["derive"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
mime_guess = "2"
flate2 = "1"
percent-encoding = "2"
bytes = "1"
chrono = "0.4"
parking_lot = "0.12"
num_cpus = "1"
socket2 = { version = "0.5", features = ["all"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
signal-hook = "0.3"
signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"] }
[target.'cfg(windows)'.dependencies]
windows-service = "0.7"
winapi = { version = "0.3", features = ["winsock2", "mswsock"] }
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true