[package]
edition = "2024"
rust-version = "1.88"
name = "httpsd"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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."
readme = "README.md"
keywords = [
"http",
"https",
"server",
"tls",
"sans-io",
]
categories = [
"network-programming",
"web-programming::http-server",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/httpsd"
[package.metadata.docs.rs]
all-features = true
[features]
acme = [
"tls",
"dep:rsurl",
]
cli = [
"config",
"rt-threadpool",
]
compress = ["dep:compcol"]
config = [
"dep:serde",
"dep:toml",
]
default = [
"cli",
"rt-threadpool",
"tls",
"compress",
"h2",
"h3",
]
h2 = [
"tls",
"dep:compcol",
"compcol/hpack",
]
h3 = [
"tls",
"dep:compcol",
"compcol/qpack",
"compcol/hpack",
]
rt-mio = ["dep:mio"]
rt-threadpool = []
rt-tokio = ["dep:tokio"]
tls = ["dep:purecrypto"]
[lib]
name = "httpsd"
path = "src/lib.rs"
[[bin]]
name = "httpsd"
path = "src/bin/httpsd.rs"
required-features = ["cli"]
[[test]]
name = "server"
path = "tests/server.rs"
[dependencies.compcol]
version = "0.6.5"
features = [
"std",
"gzip",
"deflate",
"zlib",
]
optional = true
default-features = false
[dependencies.mio]
version = "1"
features = [
"os-poll",
"net",
]
optional = true
[dependencies.purecrypto]
version = "0.6.25"
optional = true
[dependencies.rsurl]
version = "0.1.2"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"net",
"io-util",
"macros",
]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dev-dependencies.compcol]
version = "0.6.5"
features = [
"std",
"gzip",
]
default-features = false
[dev-dependencies.purecrypto]
version = "0.6.25"