feat: support proxy for ws connection (#9409)

unfortunately tokio-tungstenite doesn't support proxy configuration
outbox, while https://github.com/snapview/tokio-tungstenite/pull/370 is
in review, we can depend on source code for now.
This commit is contained in:
Anton Panasenko
2026-01-20 09:36:30 -08:00
committed by GitHub
parent 7351c12999
commit 7b27aa7707
9 changed files with 43 additions and 25 deletions

View File

@@ -150,7 +150,7 @@ async fn connect_websocket(
turn_state: Option<Arc<OnceLock<String>>>,
) -> Result<(WsStream, bool), ApiError> {
let mut request = url
.clone()
.as_str()
.into_client_request()
.map_err(|err| ApiError::Stream(format!("failed to build websocket request: {err}")))?;
request.headers_mut().extend(headers);
@@ -209,7 +209,7 @@ async fn run_websocket_response_stream(
}
};
if let Err(err) = ws_stream.send(Message::Text(request_text)).await {
if let Err(err) = ws_stream.send(Message::Text(request_text.into())).await {
return Err(ApiError::Stream(format!(
"failed to send websocket request: {err}"
)));