forked from salvo-rs/salvo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
151 lines (144 loc) · 4.92 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
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
[workspace]
members = ["crates/*"]
resolver = "2"
[workspace.package]
version = "0.72.2"
authors = ["Chrislearn Young <[email protected]>"]
edition = "2021"
rust-version = "1.80"
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 = "MIT OR Apache-2.0"
categories = ["web-programming::http-server", "web-programming::websocket", "network-programming", "asynchronous"]
[workspace.dependencies]
salvo_macros = { version = "0.72.2", path = "crates/macros", default-features = false }
salvo_core = { version = "0.72.2", path = "crates/core", default-features = false }
salvo_extra = { version = "0.72.2", path = "crates/extra", default-features = false }
salvo-compression = { version = "0.72.2", path = "crates/compression", default-features = false }
salvo-cache = { version = "0.72.2", path = "crates/cache", default-features = false }
salvo-cors = { version = "0.72.2", path = "crates/cors", default-features = false }
salvo-csrf = { version = "0.72.2", path = "crates/csrf", default-features = false }
salvo-flash = { version = "0.72.2", path = "crates/flash", default-features = false }
salvo-http3 = { version = "0.3.0", default-features = false }
salvo-jwt-auth = { version = "0.72.2", path = "crates/jwt-auth", default-features = false }
salvo-oapi = { version = "0.72.2", path = "./crates/oapi", default-features = false }
salvo-oapi-macros = { version = "0.72.2", path = "crates/oapi-macros", default-features = false }
salvo-otel = { version = "0.72.2", path = "crates/otel", default-features = false }
salvo-proxy = { version = "0.72.2", path = "crates/proxy", default-features = false }
salvo-rate-limiter = { version = "0.72.2", path = "crates/rate-limiter", default-features = false }
salvo-serde-util = { version = "0.72.2", path = "crates/serde-util", default-features = true }
salvo-serve-static = { version = "0.72.2", path = "crates/serve-static", default-features = false }
salvo-session = { version = "0.72.2", path = "crates/session", default-features = false }
aead = "0.5"
aes-gcm = "0.10"
anyhow = "1"
async-session = "3"
async-trait = "0.1"
assert-json-diff = "2"
base64 = "0.22"
bson = "2"
bytes = "1"
bcrypt = "0.15"
cookie = "0.18"
chacha20poly1305 = "0.10"
chrono = "0.4"
encoding_rs = "0.8"
email_address = "0.2"
enumflags2 = "0.7"
etag = "4"
eyre = "0.6.12"
fastrand = "2"
form_urlencoded = "1"
futures-channel = "0.3"
futures-util = { version = "0.3", default-features = false }
headers = "0.4"
http = "1"
http-body-util = "0.1"
hmac = "0.12"
hex = "0.4"
hostname-validator = "1"
hyper = { version = "1", features = ["full"] }
hyper-rustls = { version = "0.27", default-features = false }
hyper-util = { version = "0.1.2", default-features = true }
indexmap = "2"
inventory = "0.3"
jsonwebtoken = "9.1"
mime = "0.3"
mime-infer = "3"
moka = "0.12"
multer = "3"
multimap = "0.10"
native-tls = "0.2"
nix = { version = "0.29", default-features = false }
openssl = "0.10"
opentelemetry = { version = "0.25", default-features = false }
opentelemetry-http = { version = "0.25", default-features = false }
opentelemetry-prometheus = { version = "0.25", default-features = false }
opentelemetry-semantic-conventions = { version = "0.25", default-features = false }
parking_lot = "0.12"
path-slash = "0.2"
percent-encoding = "2"
paste = "1"
pin-project = "1"
proc-macro-crate = {version = ">= 2, <= 4"}
proc-macro2-diagnostics = { version = "0.10", default-features = true }
proc-macro2 = "1"
quinn = { version = "0.11", default-features = false }
quote = "1"
rand = "0.8"
rcgen = "0.13"
regex = "1"
reqwest = "0.12.1"
ring = "0.17"
rust_decimal = "1"
rustls = "0.23"
rustls-pemfile = "2"
rust-embed = { version = ">= 6, <= 9" }
serde = "1"
serde_json = "1"
serde-xml-rs = "0.6"
serde_urlencoded = "0.7"
serde_yaml = "0.9"
serde_with = "3.0"
sha2 = "0.10"
smallvec = "1"
socket2 = "0.5"
syn = "2"
sync_wrapper = "1.0"
tempfile = "3"
thiserror = "1"
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.24", 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 = "1", default-features = false }
url = "2"
uuid = "1"
x509-parser = "0.16"
# Compress
brotli = { version = "6.0", default-features = false }
flate2 = { version = "1.0", default-features = false }
zstd = { version = "0.13", default-features = false }
[workspace.lints.rust]
unsafe_code = "forbid"
unreachable_pub = "deny"
missing_docs = "warn"
[workspace.lints.clippy]
future_not_send = "warn"
unwrap_used = "warn"
[workspace.lints.rustdoc]
broken_intra_doc_links = "warn"