xref: /tonic/examples/Cargo.toml (revision f07abb27)
1[package]
2authors = ["Lucio Franco <[email protected]>"]
3edition = "2021"
4license = "MIT"
5name = "examples"
6
7[[bin]]
8name = "helloworld-server"
9path = "src/helloworld/server.rs"
10
11[[bin]]
12name = "helloworld-client"
13path = "src/helloworld/client.rs"
14
15[[bin]]
16name = "blocking-server"
17path = "src/blocking/server.rs"
18
19[[bin]]
20name = "blocking-client"
21path = "src/blocking/client.rs"
22
23[[bin]]
24name = "routeguide-server"
25path = "src/routeguide/server.rs"
26required-features = ["routeguide"]
27
28[[bin]]
29name = "routeguide-client"
30path = "src/routeguide/client.rs"
31required-features = ["routeguide"]
32
33[[bin]]
34name = "authentication-client"
35path = "src/authentication/client.rs"
36
37[[bin]]
38name = "authentication-server"
39path = "src/authentication/server.rs"
40
41[[bin]]
42name = "load-balance-client"
43path = "src/load_balance/client.rs"
44
45[[bin]]
46name = "load-balance-server"
47path = "src/load_balance/server.rs"
48
49[[bin]]
50name = "dynamic-load-balance-client"
51path = "src/dynamic_load_balance/client.rs"
52
53[[bin]]
54name = "dynamic-load-balance-server"
55path = "src/dynamic_load_balance/server.rs"
56
57[[bin]]
58name = "tls-client"
59path = "src/tls/client.rs"
60required-features = ["tls"]
61
62[[bin]]
63name = "tls-server"
64path = "src/tls/server.rs"
65required-features = ["tls"]
66
67[[bin]]
68name = "tls-rustls-client"
69path = "src/tls_rustls/client.rs"
70required-features = ["tls-rustls"]
71
72[[bin]]
73name = "tls-rustls-server"
74path = "src/tls_rustls/server.rs"
75required-features = ["tls-rustls"]
76
77[[bin]]
78name = "tls-client-auth-server"
79path = "src/tls_client_auth/server.rs"
80required-features = ["tls-client-auth"]
81
82[[bin]]
83name = "tls-client-auth-client"
84path = "src/tls_client_auth/client.rs"
85required-features = ["tls-client-auth"]
86
87[[bin]]
88name = "tower-server"
89path = "src/tower/server.rs"
90required-features = ["tower"]
91
92[[bin]]
93name = "tower-client"
94path = "src/tower/client.rs"
95required-features = ["tower"]
96
97[[bin]]
98name = "multiplex-server"
99path = "src/multiplex/server.rs"
100
101[[bin]]
102name = "multiplex-client"
103path = "src/multiplex/client.rs"
104
105[[bin]]
106name = "gcp-client"
107path = "src/gcp/client.rs"
108required-features = ["gcp"]
109
110[[bin]]
111name = "tracing-client"
112path = "src/tracing/client.rs"
113required-features = ["tracing"]
114
115[[bin]]
116name = "tracing-server"
117path = "src/tracing/server.rs"
118required-features = ["tracing"]
119
120[[bin]]
121name = "uds-client"
122path = "src/uds/client.rs"
123required-features = ["uds"]
124
125[[bin]]
126name = "uds-server"
127path = "src/uds/server.rs"
128required-features = ["uds"]
129
130[[bin]]
131name = "interceptor-client"
132path = "src/interceptor/client.rs"
133
134[[bin]]
135name = "interceptor-server"
136path = "src/interceptor/server.rs"
137
138[[bin]]
139name = "health-server"
140path = "src/health/server.rs"
141required-features = ["health"]
142
143[[bin]]
144name = "reflection-server"
145path = "src/reflection/server.rs"
146required-features = ["reflection"]
147
148[[bin]]
149name = "autoreload-server"
150path = "src/autoreload/server.rs"
151required-features = ["autoreload"]
152
153[[bin]]
154name = "compression-server"
155path = "src/compression/server.rs"
156required-features = ["compression"]
157
158[[bin]]
159name = "compression-client"
160path = "src/compression/client.rs"
161required-features = ["compression"]
162
163[[bin]]
164name = "mock"
165path = "src/mock/mock.rs"
166required-features = ["mock"]
167
168[[bin]]
169name = "grpc-web-server"
170path = "src/grpc-web/server.rs"
171required-features = ["grpc-web"]
172
173[[bin]]
174name = "grpc-web-client"
175path = "src/grpc-web/client.rs"
176required-features = ["grpc-web"]
177
178[[bin]]
179name = "streaming-client"
180path = "src/streaming/client.rs"
181required-features = ["streaming"]
182
183[[bin]]
184name = "streaming-server"
185path = "src/streaming/server.rs"
186required-features = ["streaming"]
187
188[[bin]]
189name = "json-codec-client"
190path = "src/json-codec/client.rs"
191required-features = ["json-codec"]
192
193[[bin]]
194name = "json-codec-server"
195path = "src/json-codec/server.rs"
196required-features = ["json-codec"]
197
198[[bin]]
199name = "richer-error-client"
200path = "src/richer-error/client.rs"
201required-features = ["types"]
202
203[[bin]]
204name = "richer-error-server"
205path = "src/richer-error/server.rs"
206required-features = ["types"]
207
208[[bin]]
209name = "richer-error-client-vec"
210path = "src/richer-error/client_vec.rs"
211required-features = ["types"]
212
213[[bin]]
214name = "richer-error-server-vec"
215path = "src/richer-error/server_vec.rs"
216required-features = ["types"]
217
218[[bin]]
219name = "dynamic-server"
220path = "src/dynamic/server.rs"
221
222[[bin]]
223name = "h2c-server"
224path = "src/h2c/server.rs"
225required-features = ["h2c"]
226
227[[bin]]
228name = "h2c-client"
229path = "src/h2c/client.rs"
230required-features = ["h2c"]
231
232[[bin]]
233name = "cancellation-server"
234path = "src/cancellation/server.rs"
235required-features = ["cancellation"]
236
237[[bin]]
238name = "cancellation-client"
239path = "src/cancellation/client.rs"
240
241[[bin]]
242name = "codec-buffers-server"
243path = "src/codec_buffers/server.rs"
244
245[[bin]]
246name = "codec-buffers-client"
247path = "src/codec_buffers/client.rs"
248
249
250[features]
251gcp = ["dep:prost-types", "tonic/tls-ring"]
252routeguide = ["dep:async-stream", "dep:tokio-stream", "dep:rand", "dep:serde", "dep:serde_json"]
253reflection = ["dep:tonic-reflection"]
254autoreload = ["dep:tokio-stream", "tokio-stream?/net", "dep:listenfd"]
255health = ["dep:tonic-health"]
256grpc-web = ["dep:tonic-web", "dep:bytes", "dep:http", "dep:hyper", "dep:hyper-util", "dep:tracing-subscriber", "dep:tower", "dep:tower-http", "tower-http?/cors"]
257tracing = ["dep:tracing", "dep:tracing-subscriber"]
258uds = ["dep:tokio-stream", "tokio-stream?/net", "dep:tower", "dep:hyper", "dep:hyper-util"]
259streaming = ["dep:tokio-stream", "dep:h2"]
260mock = ["dep:tokio-stream", "dep:tower", "dep:hyper-util"]
261tower = ["dep:tower", "dep:http"]
262json-codec = ["dep:serde", "dep:serde_json", "dep:bytes"]
263compression = ["tonic/gzip"]
264tls = ["tonic/tls-ring"]
265tls-rustls = ["dep:http", "dep:hyper", "dep:hyper-util", "dep:hyper-rustls", "dep:tower", "tower-http/util", "tower-http/add-extension", "dep:tokio-rustls"]
266tls-client-auth = ["tonic/tls-ring"]
267types = ["dep:tonic-types"]
268h2c = ["dep:hyper", "dep:tower", "dep:http", "dep:hyper-util"]
269cancellation = ["dep:tokio-util"]
270
271full = ["gcp", "routeguide", "reflection", "autoreload", "health", "grpc-web", "tracing", "uds", "streaming", "mock", "tower", "json-codec", "compression", "tls", "tls-rustls", "tls-client-auth", "types", "cancellation", "h2c"]
272default = ["full"]
273
274[dependencies]
275# Common dependencies
276tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] }
277prost = "0.13"
278tonic = { path = "../tonic" }
279# Optional dependencies
280tonic-web = { path = "../tonic-web", optional = true }
281tonic-health = { path = "../tonic-health", optional = true }
282tonic-reflection = { path = "../tonic-reflection", optional = true }
283tonic-types = { path = "../tonic-types", optional = true }
284async-stream = { version = "0.3", optional = true }
285tokio-stream = { version = "0.1", optional = true }
286tokio-util = { version = "0.7.8", optional = true }
287tower = { version = "0.5", optional = true }
288rand = { version = "0.9", optional = true }
289serde = { version = "1.0", features = ["derive"], optional = true }
290serde_json = { version = "1.0", optional = true }
291tracing = { version = "0.1.16", optional = true }
292tracing-subscriber = { version = "0.3", features = ["tracing-log", "fmt"], optional = true }
293prost-types = { version = "0.13", optional = true }
294http = { version = "1", optional = true }
295http-body = { version = "1", optional = true }
296hyper = { version = "1", optional = true }
297hyper-util = { version = "0.1.4", optional = true }
298listenfd = { version = "1.0", optional = true }
299bytes = { version = "1", optional = true }
300h2 = { version = "0.4", optional = true }
301tokio-rustls = { version = "0.26.1", optional = true, features = ["ring", "tls12"], default-features = false }
302hyper-rustls = { version = "0.27.0", features = ["http2", "ring", "tls12"], optional = true, default-features = false }
303tower-http = { version = "0.6", optional = true }
304
305[build-dependencies]
306tonic-build = { path = "../tonic-build", features = ["prost"] }
307