[package]
name = "miniserve"
version = "0.23.1"
description = "For when you really just want to serve some files over HTTP right now!"
authors = ["Sven-Hendrik Haase <svenstaro@gmail.com>", "Boastful Squirrel <boastful.squirrel@gmail.com>"]
repository = "https://github.com/svenstaro/miniserve"
license = "MIT"
readme = "README.md"
keywords = ["serve", "http-server", "static-files", "http", "server"]
categories = ["command-line-utilities", "network-programming", "web-programming::http-server"]
edition = "2021"
resolver = "2"

[profile.release]
codegen-units = 1
lto = true
opt-level = 'z'
panic = 'abort'
strip = true

[dependencies]
actix-files = "0.6"
actix-multipart = "0.5"
actix-web = { version = "4", features = ["macros", "compress-brotli", "compress-gzip", "compress-zstd"], default-features = false }
actix-web-httpauth = "0.8"
alphanumeric-sort = "1"
anyhow = "1"
atty = "0.2"
bytesize = "1"
chrono = "0.4"
chrono-humanize = "0.2"
clap = { version = "4", features = ["derive", "cargo", "wrap_help", "deprecated"] }
clap_complete = "4"
clap_mangen = "0.2"
comrak = { version = "0.18", default-features = false }
fast_qr = { version = "0.8", features = ["svg"] }
futures = "0.3"
get_if_addrs = "0.5"
hex = "0.4"
http = "0.2"
httparse = "1"
libflate = "1"
log = "0.4"
maud = "0.25"
mime = "0.3"
nanoid = "0.4"
percent-encoding = "2"
port_check = "0.1"
regex = "1"
rustls = { version = "0.20", optional = true }
rustls-pemfile = { version = "1.0", optional = true }
serde = { version = "1", features = ["derive"] }
sha2 = "0.10"
simplelog = "0.12"
socket2 = "0.5"
strum = { version = "0.24", features = ["derive"] }
tar = "0.4"
thiserror = "1"
yansi = "0.5"
zip = { version = "0.6.2", default-features = false }

[features]
default = ["tls"]
# This feature allows us to use rustls only on architectures supported by ring.
# See also https://github.com/briansmith/ring/issues/1182
# and https://github.com/briansmith/ring/issues/562
# and https://github.com/briansmith/ring/issues/1367
tls = ["rustls", "rustls-pemfile", "actix-web/rustls"]

[dev-dependencies]
assert_cmd = "2"
assert_fs = "1"
predicates = "3"
pretty_assertions = "1.2"
regex = "1"
reqwest = { version = "0.11", features = ["blocking", "multipart", "rustls-tls"], default-features = false }
rstest = "0.17"
select = "0.6"
url = "2"

[target.'cfg(not(windows))'.dev-dependencies]
# fake_tty does not support Windows for now
fake-tty = "0.3.1"

[build-dependencies]
grass = { version = "0.12", default-features = false }
