[package]
name = "httpsd"
version = "0.1.0"
edition = "2024"
rust-version = "1.88"
description = "A pure-Rust HTTP/HTTPS server — usable as a sans-I/O library with pluggable runtimes (thread pool, tokio, mio) or as a CLI that serves a directory or a TOML config."
repository = "https://github.com/KarpelesLab/httpsd"
license = "MIT"
keywords = ["http", "https", "server", "tls", "sans-io"]
categories = ["network-programming", "web-programming::http-server"]
readme = "README.md"
[lib]
name = "httpsd"
[[bin]]
name = "httpsd"
required-features = ["cli"]
[features]
default = ["cli", "rt-threadpool", "tls", "compress", "h2", "h3"]
tls = ["dep:purecrypto"]
compress = ["dep:compcol"]
h2 = ["tls", "dep:compcol", "compcol/hpack"]
h3 = ["tls", "dep:compcol", "compcol/qpack", "compcol/hpack"]
acme = ["tls", "dep:rsurl"]
config = ["dep:serde", "dep:toml"]
cli = ["config", "rt-threadpool"]
rt-threadpool = []
rt-tokio = ["dep:tokio"]
rt-mio = ["dep:mio"]
[dependencies]
purecrypto = { version = "0.6.25", optional = true }
compcol = { version = "0.6.5", optional = true, default-features = false, features = ["std", "gzip", "deflate", "zlib"] }
serde = { version = "1", optional = true, features = ["derive"] }
toml = { version = "0.8", optional = true }
tokio = { version = "1", optional = true, features = ["rt", "rt-multi-thread", "net", "io-util", "macros"] }
mio = { version = "1", optional = true, features = ["os-poll", "net"] }
rsurl = { version = "0.1.2", optional = true }
[dev-dependencies]
purecrypto = "0.6.25"
compcol = { version = "0.6.5", default-features = false, features = ["std", "gzip"] }
[package.metadata.docs.rs]
all-features = true