-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
110 lines (87 loc) · 3.52 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
[package]
name = "ftl"
version = "0.1.0"
edition = "2021"
authors = ["novacrazy <novacrazy@gmail.com>"]
license = "MIT OR Apache-2.0"
include = ["src/**/*", "LICENSE-*", "README.md"]
[dependencies]
pin-project = "1.1.3"
thiserror = "2"
bytes = "1.0.1"
futures = "0.3"
tracing = { version = "0.1", default-features = false, features = ["log", "std"] }
tokio = { version = "1", features = ["macros", "net", "sync", "rt-multi-thread"] }
tokio-util = { version = "0.7", features = ["io"] }
tokio-stream = "0.1.14"
tokio-tungstenite = { version = "0.26", optional = true }
serde = "1"
serde_urlencoded = "0.7.1"
matchit = "0.8.4"
http = "1.1.0"
http-body = "1.0.1"
http-body-util = "0.1.0"
headers = "0.4.0"
mime = "0.3.17"
hyper = { version = "1", features = ["http1", "http2", "server"] }
hyper-util = { version = "0.1", features = ["server-auto", "server-graceful", "tokio"] }
urlencoding = "2.1.3"
percent-encoding = "2.3.1"
paste = "1.0.15"
rustc-hash = { version = "2.0.0", features = ["rand"] }
itoa = "1.0.11"
smallvec = "1.13.2"
str-buf = "3.0.3"
# serde = { version = "1.0.210", default-features = false }
tower-layer = "0.3"
tower-service = { version = "0.3", optional = true }
arc-swap = { version = "1", optional = true }
## rustls
rustls = { version = "0.23", default-features = false, optional = true }
rustls-pki-types = { version = "1.7", optional = true }
rustls-pemfile = { version = "2.1", optional = true }
tokio-rustls = { version = "0.26", default-features = false, optional = true }
## openssl
openssl = { version = "0.10", optional = true }
tokio-openssl = { version = "0.6", optional = true }
# GCRA
scc = { version = "2", optional = true }
foldhash = { version = "0.1", optional = true }
hashbrown = { version = "0.15", optional = true }
async-compression = { version = "0.4", optional = true, default-features = false, features = ["tokio"] }
aho-corasick = { version = "1.1.3", optional = true }
# JSON
serde_json = { version = "1", optional = true }
v_jsonescape = { version = "0.7", optional = true }
# JSON SIMD
sonic-rs = { version = "0.3", optional = true }
# CBOR
ciborium = { version = "0.2", optional = true }
# application/x-www-form-urlencoded opt-in
serde_html_form = { version = "0.2", optional = true }
mime_db = { git = "https://github.com/Lantern-chat/mime_db", optional = true }
# Alternate FuturesUnordered abstraction
unicycle = { version = "0.10.2", optional = true, features = ["futures-rs"] }
[features]
default = ["tls-rustls", "gcra", "json", "cbor"]
tls-rustls = ["tls-rustls-no-provider", "rustls/aws-lc-rs"]
tls-rustls-no-provider = ["arc-swap", "rustls", "rustls-pemfile", "tokio/fs", "tokio/time", "tokio-rustls", "rustls-pki-types"]
tls-openssl = ["arc-swap", "openssl", "tokio-openssl"]
tower-service = ["dep:tower-service"]
gcra = ["dep:scc", "dep:foldhash", "dep:hashbrown"]
fs = ["tokio/fs", "mime_db"]
limited-acceptor = ["dep:scc", "dep:foldhash"]
ws = ["tokio-tungstenite"]
compression-all = ["compression-br", "compression-deflate", "compression-gzip", "compression-zstd"]
compression-br = ["_meta_compression", "async-compression/brotli"]
compression-deflate = ["_meta_compression", "async-compression/deflate"]
compression-gzip = ["_meta_compression", "async-compression/gzip"]
compression-zstd = ["_meta_compression", "async-compression/zstd"]
_meta_compression = ["aho-corasick"]
json = ["serde_json", "v_jsonescape"]
json-simd = ["json", "sonic-rs"]
cbor = ["ciborium"]
[dev-dependencies]
serde = { version = "1", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
tracing-subscriber = "0.3.18"