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