forked from plabayo/rama
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
153 lines (145 loc) · 4.35 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
152
153
[workspace]
members = [".", "rama-cli", "rama-fp", "rama-macros"]
[workspace.package]
version = "0.2.0"
license = "MIT OR Apache-2.0"
edition = "2021"
repository = "https://github.com/plabayo/rama"
homepage = "https://ramaproxy.org"
keywords = ["io", "async", "non-blocking", "futures"]
categories = ["asynchronous", "network-programming"]
authors = ["Glen De Cauwsemaecker <[email protected]>"]
rust-version = "1.75.0"
[workspace.dependencies]
anyhow = "1.0"
async-compression = "0.4"
base64 = "0.22"
bitflags = "2.4"
brotli = "3"
bytes = "1"
argh = "0.1"
crossterm = "0.27"
flate2 = "1.0"
futures = "0.3.29"
futures-core = "0.3"
futures-util = { version = "0.3", default-features = false }
h2 = "0.4"
headers = "0.4"
http = "1"
http-body = "1"
http-body-util = "0.1"
http-range-header = "0.4.0"
httparse = "1.8"
httpdate = "1.0"
hyper = "1.2"
hyper-util = "0.1.3"
ipnet = "2.9.0"
mime = "0.3.17"
mime_guess = { version = "2", default-features = false }
paste = "1.0"
percent-encoding = "2.1"
pin-project-lite = "0.2.13"
pki-types = { package = "rustls-pki-types", version = "^1" }
proc-macro2 = "1.0"
prometheus = "0.13.3"
quickcheck = "1.0"
quote = "1.0"
ratatui = "0.26"
rcgen = "0.13.0"
regex = "1.10.3"
rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12", "ring"] }
rustls-native-certs = "=0.7.0"
rustls-pemfile = "2.1"
rustversion = "1.0.9"
serde = "1.0"
serde_json = "1.0"
serde_urlencoded = "0.7"
syn = "2.0"
sync_wrapper = "1.0"
tempfile = "3.10"
tokio = "1.35"
tokio-graceful = "0.1"
tokio-rustls = { version = "0.26", default-features = false, features = ["logging", "tls12", "ring"] }
tokio-test = "0.4.3"
tokio-util = "0.7"
tracing = "0.1"
tracing-subscriber = "0.3.17"
trybuild = "1.0.63"
uuid = "1.6"
zstd = "0.13"
[package]
name = "rama"
readme = "README.md"
documentation = "https://docs.rs/rama"
description = "modular proxy framework"
version = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
keywords = { workspace = true }
categories = { workspace = true }
authors = { workspace = true }
rust-version = { workspace = true }
[features]
default = []
full = ["compression"]
compression = ["dep:async-compression"]
[build-dependencies]
rustversion = { workspace = true }
[dependencies]
async-compression = { workspace = true, features = ["tokio", "brotli", "zlib", "gzip", "zstd"], optional = true }
base64 = { workspace = true }
bitflags = { workspace = true }
bytes = { workspace = true }
futures = { workspace = true }
futures-core = { workspace = true }
futures-util = { workspace = true, features = ["alloc"] }
h2 = { workspace = true }
headers = { workspace = true }
http = { workspace = true }
http-body = { workspace = true }
http-body-util = { workspace = true }
http-range-header = { workspace = true }
httparse = { workspace = true }
httpdate = { workspace = true }
hyper = { workspace = true, features = ["http1", "http2", "server", "client"] }
hyper-util = { workspace = true, features = ["tokio", "server-auto"] }
ipnet = { workspace = true }
mime = { workspace = true }
mime_guess = { workspace = true }
paste = { workspace = true }
percent-encoding = { workspace = true }
pin-project-lite = { workspace = true }
pki-types = { workspace = true }
prometheus = { workspace = true }
quickcheck = { workspace = true }
rama-macros = { path = "rama-macros" }
rcgen = { workspace = true }
regex = { workspace = true }
rustls = { workspace = true }
rustls-native-certs = { workspace = true }
rustls-pemfile = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_urlencoded = { workspace = true }
sync_wrapper = { workspace = true }
tokio = { workspace = true, features = ["macros", "fs"] }
tokio-graceful = { workspace = true }
tokio-rustls = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
uuid = { workspace = true, features = ["v4"] }
[dev-dependencies]
brotli = { workspace = true }
flate2 = { workspace = true }
rustversion = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["full"] }
tokio-test = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
zstd = { workspace = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]