miden_node_utils/grpc/
connect_info.rs1use tonic::service::Interceptor;
2use tonic::{Request, Status};
3
4#[derive(Debug, Clone)]
6pub struct ConnectInfoInterceptor;
7
8impl Interceptor for ConnectInfoInterceptor {
9 fn call(&mut self, mut request: Request<()>) -> Result<Request<()>, Status> {
10 let addr = request
11 .remote_addr()
12 .ok_or_else(|| Status::failed_precondition("Expected TCP connection"))?;
13 request
14 .metadata_mut()
15 .insert("forwarded", format!("for={addr}").try_into().unwrap());
16 Ok(request)
17 }
18}