Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
204 lines (196 loc) · 6.4 KB
/
Copy pathCargo.toml
File metadata and controls
204 lines (196 loc) · 6.4 KB
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
[workspace]
members = ["crates/*"]
resolver = "3"
[workspace.package]
version = "1.0.0"
authors = ["chrislearn <chris@acroidea.com>"]
edition = "2024"
rust-version = "1.94"
description = """
Salvo is a powerful web framework that can make your work easier.
"""
homepage = "https://salvo.rs"
repository = "https://github.com/salvo-rs/salvo"
documentation = "https://docs.rs/salvo/"
readme = "./README.md"
keywords = ["http", "async", "web", "framework", "server"]
license = "Apache-2.0"
categories = [
"web-programming::http-server",
"web-programming::websocket",
"network-programming",
"asynchronous",
]
[workspace.dependencies]
salvo_macros = { version = "1.0.0", path = "crates/macros", default-features = false }
salvo_core = { version = "1.0.0", path = "crates/core", default-features = false }
salvo_extra = { version = "1.0.0", path = "crates/extra", default-features = false }
salvo-acme = { version = "1.0.0", path = "crates/acme", default-features = false }
salvo-compression = { version = "1.0.0", path = "crates/compression", default-features = false }
salvo-cache = { version = "1.0.0", path = "crates/cache", default-features = false }
salvo-cors = { version = "1.0.0", path = "crates/cors", default-features = false }
salvo-csrf = { version = "1.0.0", path = "crates/csrf", default-features = false }
salvo-flash = { version = "1.0.0", path = "crates/flash", default-features = false }
salvo-http3 = { version = "0.7.0", default-features = false }
salvo-jwt-auth = { version = "1.0.0", path = "crates/jwt-auth", default-features = false }
salvo-oapi = { version = "1.0.0", path = "./crates/oapi", default-features = false }
salvo-oapi-macros = { version = "1.0.0", path = "crates/oapi-macros", default-features = false }
salvo-otel = { version = "1.0.0", path = "crates/otel", default-features = false }
salvo-proxy = { version = "1.0.0", path = "crates/proxy", default-features = false }
salvo-rate-limiter = { version = "1.0.0", path = "crates/rate-limiter", default-features = false }
salvo-serde-util = { version = "1.0.0", path = "crates/serde-util", default-features = true }
salvo-serve-static = { version = "1.0.0", path = "crates/serve-static", default-features = false }
salvo-session = { version = "1.0.0", path = "crates/session", default-features = false }
salvo-craft = { version = "1.0.0", path = "crates/craft", default-features = false }
salvo-craft-macros = { version = "1.0.0", path = "crates/craft-macros", default-features = false }
salvo-tus = { version = "1.0.0", path = "crates/tus", default-features = false }
certon = "0.3"
aead = "0.6"
aes-gcm = "0.11"
arc-swap = "1.9"
anyhow = "1"
async-trait = "0.1"
assert-json-diff = "2"
base64 = "0.23"
bytes = "1"
bcrypt = "0.19"
cookie = "0.18"
chacha20poly1305 = "0.11"
chardetng = "1.0"
chrono = "0.4"
criterion = "0.8"
compact_str = { version = "0.10", features = ["serde"] }
content_inspector = "0.2"
encoding_rs = "0.8"
email_address = "0.2"
enumflags2 = "0.7"
etag = "4"
eyre = "0.6"
fastrand = "2"
form_urlencoded = "1"
futures-channel = "0.3"
futures-util = { version = "0.3", default-features = false }
h3-datagram = "0.0.2"
headers = "0.4"
http = "1.5"
http-body-util = "0.1"
hmac = "0.13"
hex = "0.4"
hostname-validator = "1"
hyper = { version = "1", features = ["full"] }
hyper-rustls = { version = "0.27", default-features = false }
hyper-util = { version = "0.1", default-features = true }
indexmap = "2"
inventory = "0.3"
jsonwebtoken = "11"
local-ip-address = "0.6"
mime = "0.3"
mime-infer = "4"
moka = "0.12"
multra = "1"
multimap = "0.10"
native-tls = "0.2"
nix = { version = "0.31", default-features = false }
openssl = { version = "0.10" }
opentelemetry = { version = "0.33", default-features = false }
opentelemetry-http = { version = "0.33", default-features = false }
opentelemetry-semantic-conventions = { version = "0.33", default-features = false }
opentelemetry_sdk = { version = "0.33", default-features = false }
parking_lot = "0.12"
path-slash = "0.2"
percent-encoding = "2"
pin-project = "1"
proc-macro-crate = { version = ">= 2, <= 4" }
proc-macro2 = "1"
quinn = { version = "0.11", default-features = false }
quote = "1"
rand = "0.10"
rcgen = "0.14"
regex = "1"
reqwest = { version = "0.13", default-features = false }
aws-lc-rs = { version = "1", default-features = true }
ring = "0.17"
rust_decimal = "1"
rustls = { version = "0.23", default-features = false }
rust-embed = { version = ">= 6, <= 9" }
saysion = "0.2"
serde = "1"
serde_json = "1"
serde-xml-rs = "0.8"
serde_urlencoded = "0.7"
serde_norway = "0.9"
serde_with = "3"
sha2 = "0.11"
smallvec = "1"
socket2 = "0.6"
subtle = "2"
syn = "3"
sync_wrapper = "1"
tempfile = ">= 3.20"
thiserror = "2"
time = "0.3"
tokio = "1"
tokio-native-tls = "0.3"
tokio-rustls = { version = "0.26", default-features = false }
tokio-openssl = "0.6"
tokio-stream = { version = "0.1", default-features = false }
tokio-tungstenite = { version = "0.30", default-features = false }
tokio-util = "0.7"
tower = { version = "0.5", default-features = false }
tracing-subscriber = { version = "0.3" }
tracing = "0.1"
tracing-test = "0.2.1"
ulid = { version = "3", default-features = false }
url = "2"
uuid = "1"
x509-parser = "0.18"
# Compress
brotli = { version = "9", default-features = false }
flate2 = { version = "1", default-features = false }
zstd = { version = "0.14", default-features = false }
[workspace.lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unreachable_pub = "deny"
unsafe_code = "forbid"
[workspace.lints.clippy]
await_holding_lock = "warn"
dbg_macro = "warn"
empty_enums = "warn"
enum_glob_use = "warn"
equatable_if_let = "warn"
exit = "warn"
filter_map_next = "warn"
fn_params_excessive_bools = "warn"
future_not_send = "warn"
if_let_mutex = "warn"
implicit_clone = "warn"
imprecise_flops = "warn"
inefficient_to_string = "warn"
linkedlist = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
manual_let_else = "warn"
mem_forget = "warn"
must_use_candidate = "warn"
needless_borrow = "warn"
needless_continue = "warn"
needless_pass_by_ref_mut = "warn"
option_option = "warn"
redundant_clone = "warn"
ref_option = "warn"
rest_pat_in_fully_bound_structs = "warn"
return_self_not_must_use = "warn"
single_match_else = "warn"
str_to_string = "warn"
suboptimal_flops = "warn"
todo = "warn"
trivially_copy_pass_by_ref = "warn"
type_complexity = "allow"
uninlined_format_args = "warn"
unnested_or_patterns = "warn"
unused_self = "warn"
unwrap_used = "warn"
use_self = "warn"
[workspace.lints.rustdoc]
broken_intra_doc_links = "warn"