diff --git a/livekit-api/src/services/twirp_client.rs b/livekit-api/src/services/twirp_client.rs index bf4bf8ffd..b9f6415cc 100644 --- a/livekit-api/src/services/twirp_client.rs +++ b/livekit-api/src/services/twirp_client.rs @@ -103,9 +103,8 @@ impl TwirpClient { ) -> TwirpResult { let mut url = url::Url::parse(&self.host)?; - if let Ok(mut segs) = url.path_segments_mut() { - segs.push(&format!("{}/{}.{}/{}", self.prefix, self.pkg, service, method)); - } + // Fix: Use set_path instead of path_segments_mut().push() to avoid URL-encoding slashes + url.set_path(&format!("{}/{}.{}/{}", self.prefix, self.pkg, service, method)); headers.insert(CONTENT_TYPE, HeaderValue::from_static("application/protobuf"));