[[bin]]
doc = false
name = "static-web-server"
path = "src/bin/server.rs"
[build-dependencies.shadow-rs]
version = "0.29"
[dependencies.aho-corasick]
version = "1.1"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-compression]
default-features = false
features = ["brotli", "deflate", "gzip", "zstd", "tokio"]
optional = true
version = "0.4"
[dependencies.bcrypt]
optional = true
version = "0.15"
[dependencies.bytes]
version = "1.8"
[dependencies.chrono]
default-features = false
features = ["std", "clock"]
optional = true
version = "0.4"
[dependencies.clap]
features = ["derive", "env"]
version = "4.5"
[dependencies.clap_allgen]
version = "0.2.0"
[dependencies.compact_str]
optional = true
version = "0.8.0"
[dependencies.form_urlencoded]
version = "1.2"
[dependencies.futures-util]
default-features = false
version = "0.3"
[dependencies.globset]
features = ["serde1"]
version = "0.4"
[dependencies.headers]
version = "0.3"
[dependencies.http]
version = "0.2"
[dependencies.http-serde]
version = "1.1"
[dependencies.hyper]
features = ["stream", "http1", "http2", "tcp", "server"]
version = "0.14"
[dependencies.lazy_static]
version = "1.5"
[dependencies.listenfd]
version = "1.0"
[dependencies.maud]
optional = true
version = "0.26"
[dependencies.mime_guess]
version = "2.0"
[dependencies.mini-moka]
optional = true
version = "0.10.3"
[dependencies.percent-encoding]
version = "2.3"
[dependencies.pin-project]
version = "1.1"
[dependencies.regex]
version = "1.10"
[dependencies.rustls-pemfile]
optional = true
version = "2.1"
[dependencies.serde]
default-features = false
features = ["derive"]
version = "1.0"
[dependencies.serde_ignored]
version = "0.1"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_repr]
version = "0.1"
[dependencies.shadow-rs]
version = "0.29"
[dependencies.tokio]
default-features = false
features = ["rt-multi-thread", "macros", "fs", "io-util", "signal"]
version = "1"
[dependencies.tokio-rustls]
default-features = false
features = ["logging", "tls12", "ring"]
optional = true
version = "0.26"
[dependencies.tokio-util]
default-features = false
features = ["io"]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
default-features = false
features = ["std"]
version = "0.1"
[dependencies.tracing-subscriber]
default-features = false
features = ["smallvec", "registry", "parking_lot", "fmt", "ansi", "tracing-log"]
version = "0.3"
[dev-dependencies.bytes]
version = "1.8"
[dev-dependencies.serde_json]
version = "1.0"
[features]
all = ["default", "experimental"]
basic-auth = ["bcrypt"]
compression = ["compression-brotli", "compression-deflate", "compression-gzip", "compression-zstd"]
compression-brotli = ["async-compression/brotli"]
compression-deflate = ["async-compression/deflate"]
compression-gzip = ["async-compression/deflate"]
compression-zstd = ["async-compression/zstd"]
default = ["compression", "http2", "directory-listing", "basic-auth", "fallback-page"]
directory-listing = ["chrono", "maud"]
experimental = ["tokio-metrics-collector", "prometheus", "compact_str", "mini-moka"]
fallback-page = []
http2 = ["tokio-rustls", "rustls-pemfile"]
[lib]
name = "static_web_server"
path = "src/lib.rs"
[package]
authors = ["Jose Quintana <https://joseluisq.net>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming", "web-programming::http-server"]
description = "A cross-platform, high-performance and asynchronous web server for static files-serving."
edition = "2021"
homepage = "https://static-web-server.net"
include = ["src/**/*.rs", "build.rs", "Cargo.toml", "README.md", "LICENSE-MIT", "LICENSE-APACHE"]
keywords = ["static-web-server", "file-server", "http-server"]
license = "MIT OR Apache-2.0"
name = "static-web-server"
readme = "README.md"
repository = "https://github.com/static-web-server/static-web-server"
rust-version = "1.76.0"
version = "2.33.1"
[package.metadata.cross.target.aarch64-unknown-linux-musl.env]
passthrough = ["JEMALLOC_SYS_WITH_LG_PAGE=16"]
[package.metadata.cross.target.x86_64-unknown-netbsd]
pre-build = ["mkdir -p /tmp/netbsd", "curl https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.2/amd64/binary/sets/base.tar.xz -O", "tar -C /tmp/netbsd -xJf base.tar.xz", "cp /tmp/netbsd/usr/lib/libexecinfo.so /usr/local/x86_64-unknown-netbsd/lib", "rm base.tar.xz", "rm -rf /tmp/netbsd"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[profile.release]
codegen-units = 1
debug = 0
debug-assertions = false
lto = "fat"
opt-level = 3
panic = "abort"
rpath = false
strip = true
[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.tikv-jemallocator]
version = "0.6"
[target."cfg(unix)".dependencies.prometheus]
optional = true
version = "0.13"
[target."cfg(unix)".dependencies.signal-hook]
features = ["extended-siginfo"]
version = "0.3"
[target."cfg(unix)".dependencies.signal-hook-tokio]
default-features = false
features = ["futures-v0_3"]
version = "0.3"
[target."cfg(unix)".dependencies.tokio-metrics-collector]
optional = true
version = "0.2"
[target."cfg(windows)".dependencies.windows-service]
version = "0.7"