diff --git a/keyserver/addons/rust-node-addon/src/tunnelbroker_client.rs b/keyserver/addons/rust-node-addon/src/tunnelbroker_client.rs --- a/keyserver/addons/rust-node-addon/src/tunnelbroker_client.rs +++ b/keyserver/addons/rust-node-addon/src/tunnelbroker_client.rs @@ -26,7 +26,10 @@ #[napi] impl TunnelbrokerClient { #[napi(constructor)] - pub fn new(on_receive_callback: ThreadsafeFunction) -> Self { + pub fn new( + device_id: String, + on_receive_callback: ThreadsafeFunction, + ) -> Self { let mut client = tunnelbroker::initialize_client(TUNNELBROKER_SERVICE_ADDR.to_string()); let (tx, rx) = mpsc::channel(1); @@ -36,8 +39,13 @@ // and calling the callback function with the received payload tunnelbroker::RUNTIME.spawn({ async move { + let mut request = Request::new(stream); + request.metadata_mut().insert( + "deviceid", + device_id.parse().expect("Failed to parse deviceID"), + ); let response = client - .messages_stream(Request::new(stream)) + .messages_stream(request) .await .expect("Failed to receive messages stream from Tunnelbroker"); let mut resp_stream = response.into_inner();