-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCargo.toml
More file actions
112 lines (91 loc) · 2.61 KB
/
Cargo.toml
File metadata and controls
112 lines (91 loc) · 2.61 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
[workspace.package]
version = "0.1.0"
edition = "2024"
rust-version = "1.88"
license = "MIT"
homepage = "https://github.com/refcell/roxy"
repository = "https://github.com/refcell/roxy"
[workspace]
resolver = "2"
members = ["bin/*", "crates/*", "tests", "examples/full-demo"]
default-members = ["bin/roxy-proxy"]
exclude = ["fuzz"]
[workspace.metadata.cargo-udeps.ignore]
normal = ["rustls-platform-verifier"]
[workspace.lints.rust]
missing-debug-implementations = "warn"
missing-docs = "warn"
unreachable-pub = "warn"
unused-must-use = "deny"
rust-2018-idioms = "deny"
unnameable-types = "warn"
[workspace.lints.rustdoc]
all = "warn"
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
missing-const-for-fn = "warn"
use-self = "warn"
option-if-let-else = "warn"
redundant-clone = "warn"
[profile.dev]
debug = "line-tables-only"
split-debuginfo = "unpacked"
[profile.release]
opt-level = 3
lto = "thin"
debug = "none"
strip = "symbols"
panic = "unwind"
codegen-units = 16
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
[workspace.dependencies]
# local crates
roxy-types = { version = "0.1.0", path = "crates/types" }
roxy-traits = { version = "0.1.0", path = "crates/traits" }
roxy-runtime = { version = "0.1.0", path = "crates/runtime" }
roxy-backend = { version = "0.1.0", path = "crates/backend" }
roxy-cache = { version = "0.1.0", path = "crates/cache" }
roxy-rpc = { version = "0.1.0", path = "crates/rpc" }
roxy-server = { version = "0.1.0", path = "crates/server" }
roxy-config = { version = "0.1.0", path = "crates/config" }
roxy-test-utils = { version = "0.1.0", path = "crates/test-utils" }
roxyproxy-cli = { version = "0.1.0", path = "crates/cli" }
# alloy - Ethereum primitives and JSON-RPC types
alloy-primitives = "1.4"
alloy-json-rpc = "1.0"
# async runtime
tokio = { version = "1.48", features = ["full"] }
tokio-stream = "0.1"
# networking
hyper = "1.0"
axum = { version = "0.7", features = ["ws"] }
reqwest = { version = "0.12", features = ["json"] }
tower = "0.4"
# serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bytes = "1.0"
# error handling
eyre = "0.6"
# derive macros
derive_more = { version = "2.0", features = ["full"] }
# logging & metrics
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
metrics = "0.24"
metrics-derive = "0.1"
# caching
lru = "0.12"
redis = { version = "0.27", features = ["tokio-comp"] }
# compression
brotli = "8.0"
# config
toml = "0.8"
# testing
rstest = "0.23"
criterion = { version = "0.5", features = ["async_tokio"] }
# fuzzing
arbitrary = { version = "1", features = ["derive"] }