@@ -10,58 +10,149 @@ rust-version = "1.90.0"
1010[[example ]]
1111name = " tracing"
1212path = " examples/tracing.rs"
13- required-features = [" tracing-span-filter" ]
13+ required-features = [" http_server " , " tracing-span-filter" ]
1414
1515[[example ]]
1616name = " schema"
1717path = " examples/schema.rs"
18- required-features = [" schemars" ]
18+ required-features = [" http_server" , " schemars" ]
19+
20+ [[example ]]
21+ name = " counter"
22+ path = " examples/counter.rs"
23+ required-features = [" http_server" ]
24+
25+ [[example ]]
26+ name = " cron"
27+ path = " examples/cron.rs"
28+ required-features = [" http_server" ]
29+
30+ [[example ]]
31+ name = " failures"
32+ path = " examples/failures.rs"
33+ required-features = [" http_server" ]
34+
35+ [[example ]]
36+ name = " fan_out"
37+ path = " examples/fan_out.rs"
38+ required-features = [" http_server" ]
39+
40+ [[example ]]
41+ name = " greeter"
42+ path = " examples/greeter.rs"
43+ required-features = [" http_server" ]
44+
45+ [[example ]]
46+ name = " run"
47+ path = " examples/run.rs"
48+ required-features = [" http_server" ]
49+
50+ [[example ]]
51+ name = " signals"
52+ path = " examples/signals.rs"
53+ required-features = [" http_server" ]
1954
2055[[example ]]
2156name = " ingress_client"
2257path = " examples/ingress_client.rs"
2358required-features = [" reqwest-client" ]
2459
60+ [[example ]]
61+ name = " tunnel"
62+ path = " examples/tunnel.rs"
63+ required-features = [" tunnel" , " tracing-span-filter" ]
64+
2565[features ]
2666default = [" http_server" , " rand" , " uuid" , " tracing-span-filter" , " rust_crypto" ]
2767reqwest-client = [" dep:reqwest" ]
68+ rand = [" dep:rand" ]
69+ uuid = [" dep:uuid" ]
2870hyper = [" dep:hyper" , " restate-sdk-shared-core/http" ]
29- http_server = [" hyper" , " hyper/server" , " hyper/http2" , " hyper-util" , " tokio/net" , " tokio/signal" , " tokio/macros" ]
71+ http_server = [
72+ " hyper" ,
73+ " hyper/server" ,
74+ " hyper/http2" ,
75+ " dep:hyper-util" ,
76+ " hyper-util/tokio" ,
77+ " hyper-util/server" ,
78+ " hyper-util/server-graceful" ,
79+ " hyper-util/http2" ,
80+ " tokio/net" ,
81+ " tokio/signal" ,
82+ " tokio/macros" ,
83+ ]
3084tracing-span-filter = [" dep:tracing-subscriber" ]
3185lambda = [ " dep:http-serde" , " dep:lambda_runtime" , " dep:aws_lambda_events" ]
3286# jsonwebtoken crypto backend pass-through for request identity verification.
3387# Enable exactly one (or call jsonwebtoken's CryptoProvider::install_default yourself).
34- rust_crypto = [" restate-sdk-shared-core/rust_crypto" ]
35- aws_lc_rs = [" restate-sdk-shared-core/aws_lc_rs" ]
88+ rust_crypto = [" restate-sdk-shared-core/rust_crypto" , " jsonwebtoken?/rust_crypto" , " rustls?/ring" ]
89+ aws_lc_rs = [" restate-sdk-shared-core/aws_lc_rs" , " jsonwebtoken?/aws_lc_rs" , " rustls?/aws_lc_rs" ]
90+ tunnel = [
91+ " hyper" ,
92+ " hyper/server" ,
93+ " hyper/http2" ,
94+ " dep:hickory-resolver" ,
95+ " dep:hostname" ,
96+ " dep:hyper-util" ,
97+ " dep:jsonwebtoken" ,
98+ " hyper-util/tokio" ,
99+ " rand" ,
100+ " dep:rustls" ,
101+ " dep:rustls-native-certs" ,
102+ " dep:socket2" ,
103+ " dep:tokio-rustls" ,
104+ " dep:tokio-util" ,
105+ " dep:url" ,
106+ " tokio/io-util" ,
107+ " tokio/macros" ,
108+ " tokio/net" ,
109+ " tokio/rt" ,
110+ " tokio/signal" ,
111+ " uuid" ,
112+ " uuid/v4" ,
113+ ]
36114
37115[dependencies ]
38116bytes = " 1.11"
39117futures = " 0.3"
118+ hickory-resolver = { version = " 0.26" , default-features = false , features = [" system-config" , " tokio" ], optional = true }
119+ hostname = { version = " 0.4" , optional = true }
40120http = " 1.4"
41121http-body = " 1.0.1"
42122http-body-util = " 0.1"
43123hyper = { version = " 1.8" , optional = true }
44- hyper-util = { version = " 0.1" , features = [" tokio" , " server" , " server-graceful" , " http2" ], optional = true }
124+ hyper-util = { version = " 0.1" , default-features = false , optional = true }
125+ jsonwebtoken = { version = " 10.3" , default-features = false , optional = true }
45126pin-project-lite = " 0.2"
46127percent-encoding = " 2.3"
47128rand = { version = " 0.10" , optional = true }
48129regress = " 0.10"
49130reqwest = { version = " 0.13" , optional = true }
50131restate-sdk-macros = { version = " 0.11" , path = " macros" }
51132restate-sdk-shared-core = { version = " =7.0.3" , features = [" request_identity" , " sha2_random_seed" , " http" ] }
133+ rustls = { version = " 0.23" , default-features = false , features = [" std" , " tls12" ], optional = true }
134+ rustls-native-certs = { version = " 0.8" , optional = true }
52135schemars = { version = " 1.2" , optional = true }
53136serde = " 1.0"
54137serde_json = " 1.0"
138+ socket2 = { version = " 0.6" , optional = true }
55139thiserror = " 2.0"
56140tokio = { version = " 1.49" , default-features = false , features = [" sync" , " time" ] }
141+ tokio-rustls = { version = " 0.26" , default-features = false , features = [" tls12" ], optional = true }
142+ tokio-util = { version = " 0.7" , default-features = false , features = [" rt" ], optional = true }
57143tracing = " 0.1"
58144tracing-subscriber = { version = " 0.3" , features = [" registry" ], optional = true }
145+ url = { version = " 2.5" , optional = true }
59146uuid = { version = " 1.20" , optional = true }
60147http-serde = { version = " 2.1.1" , optional = true }
61148aws_lambda_events = { version = " 1.0" , optional = true }
62149lambda_runtime = { version = " 1.0" , optional = true }
63150
64151[dev-dependencies ]
152+ base64 = " 0.22"
153+ bs58 = " 0.5"
154+ ed25519-dalek = " 2"
155+ hyper = { version = " 1.8" , default-features = false , features = [" client" , " http2" ] }
65156tokio = { version = " 1" , features = [" full" ] }
66157tracing-subscriber = { version = " 0.3" , features = [" env-filter" , " registry" ] }
67158trybuild = " 1.0"
0 commit comments