forked from static-web-server/static-web-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
113 lines (103 loc) · 3.65 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[package]
name = "static-web-server"
version = "2.20.2"
authors = ["Jose Quintana <https://joseluisq.net>"]
license = "MIT OR Apache-2.0"
description = "A cross-platform, high-performance and asynchronous web server for static files-serving."
repository = "https://github.com/static-web-server/static-web-server"
readme = "README.md"
homepage = "https://static-web-server.net"
keywords = [
"static-web-server",
"file-server",
"http-server"
]
categories = ["network-programming", "web-programming::http-server"]
edition = "2021"
include = [
"src/**/*.rs",
"Cargo.toml",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE"
]
autotests = true
autoexamples = true
[lib]
name = "static_web_server"
path = "src/lib.rs"
[[bin]]
name = "static-web-server"
path = "src/bin/server.rs"
doc = false
[features]
# All features enabled by default
default = ["compression", "http2", "directory-listing", "basic-auth", "fallback-page"]
# HTTP2
http2 = ["tokio-rustls", "rustls-pemfile"]
# Compression
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"]
# Directory listing
directory-listing = ["humansize", "chrono"]
# Basic HTTP Authorization
basic-auth = ["bcrypt"]
# Fallback Page
fallback-page = []
[dependencies]
aho-corasick = "1.0"
anyhow = "1.0"
async-compression = { version = "0.4", default-features = false, optional = true, features = ["brotli", "deflate", "gzip", "zstd", "tokio"] }
bcrypt = { version = "0.15", optional = true }
bytes = "1.4"
chrono = { version = "0.4", default-features = false, features = ["std", "clock"], optional = true }
clap = { version = "4.3", features = ["derive", "env"] }
form_urlencoded = "1.2"
futures-util = { version = "0.3", default-features = false, features = ["sink"] }
globset = { version = "0.4", features = ["serde1"] }
headers = { package = "headers-accept-encoding", version = "1.0" }
http = "0.2"
http-serde = "1.1"
humansize = { version = "2.1", features = ["impl_style"], optional = true }
hyper = { version = "0.14", features = ["stream", "http1", "http2", "tcp", "server"] }
listenfd = "1.0"
mime_guess = "2.0"
num_cpus = { version = "1.16" }
percent-encoding = "2.3"
pin-project = "1.1"
regex = "1.9"
rustls-pemfile = { version = "1.0", optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"] }
serde_ignored = "0.1"
serde_repr = "0.1"
tokio = { version = "1", default-features = false, features = ["rt-multi-thread", "macros", "fs", "io-util", "signal"] }
tokio-rustls = { version = "0.24", optional = true }
tokio-util = { version = "0.7", default-features = false, features = ["io"] }
toml = "0.7"
tracing = { version = "0.1", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3", default-features = false, features = ["smallvec", "registry", "parking_lot", "fmt", "ansi", "tracing-log"] }
[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.tikv-jemallocator]
version = "0.5"
[target.'cfg(unix)'.dependencies]
signal-hook = { version = "0.3", features = ["extended-siginfo"] }
signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"], default-features = false }
[target.'cfg(windows)'.dependencies]
windows-service = "0.6"
[dev-dependencies]
bytes = "1.4"
serde_json = "1.0"
[profile.release]
codegen-units = 1
debug = false
debug-assertions = false
lto = "fat"
opt-level = 3
panic = "abort"
rpath = false
strip = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]