diff options
author | rtkay123 <dev@kanjala.com> | 2025-08-10 13:45:11 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-08-10 13:45:11 +0200 |
commit | dbff6fa4e5684d8636fd46ecadfe5874a253bd49 (patch) | |
tree | 1039d96c2d02fbc6df1b7b218446c3a8acf1c6b5 /crates/pseudonyms/src/server | |
parent | 8cda165f9d3f108c80a4c9ee10c68a28299cb2d1 (diff) | |
download | warden-dbff6fa4e5684d8636fd46ecadfe5874a253bd49.tar.bz2 warden-dbff6fa4e5684d8636fd46ecadfe5874a253bd49.zip |
feat(pseudonyms): serve api
Diffstat (limited to 'crates/pseudonyms/src/server')
-rw-r--r-- | crates/pseudonyms/src/server/interceptor.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/crates/pseudonyms/src/server/interceptor.rs b/crates/pseudonyms/src/server/interceptor.rs new file mode 100644 index 0000000..f30f140 --- /dev/null +++ b/crates/pseudonyms/src/server/interceptor.rs @@ -0,0 +1,23 @@ +use warden_stack::{ + opentelemetry::global, tracing::telemetry::tonic::extractor, + tracing_opentelemetry::OpenTelemetrySpanExt, +}; +use tonic::{Status, service::Interceptor}; +use tracing::Span; + +#[derive(Clone, Copy)] +pub struct MyInterceptor; + +impl Interceptor for MyInterceptor { + fn call(&mut self, request: tonic::Request<()>) -> Result<tonic::Request<()>, Status> { + let span = Span::current(); + + let cx = global::get_text_map_propagator(|propagator| { + propagator.extract(&extractor::MetadataMap(request.metadata())) + }); + + span.set_parent(cx); + + Ok(request) + } +} |