From ea95bf257649b78284664e54bc0c1411b1d3bacc Mon Sep 17 00:00:00 2001 From: bellman Date: Fri, 15 May 2026 10:28:12 +0900 Subject: [PATCH] omx(team): auto-checkpoint worker-3 [unknown] --- rust/crates/api/src/providers/openai_compat.rs | 6 ++++++ .../api/tests/openai_compat_integration.rs | 17 +++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/rust/crates/api/src/providers/openai_compat.rs b/rust/crates/api/src/providers/openai_compat.rs index e72cf10b..75814d5e 100644 --- a/rust/crates/api/src/providers/openai_compat.rs +++ b/rust/crates/api/src/providers/openai_compat.rs @@ -146,6 +146,12 @@ impl OpenAiCompatClient { self } + #[must_use] + pub fn with_http_client(mut self, http: reqwest::Client) -> Self { + self.http = http; + self + } + #[must_use] pub fn with_retry_policy( mut self, diff --git a/rust/crates/api/tests/openai_compat_integration.rs b/rust/crates/api/tests/openai_compat_integration.rs index f7754551..cbcbde33 100644 --- a/rust/crates/api/tests/openai_compat_integration.rs +++ b/rust/crates/api/tests/openai_compat_integration.rs @@ -5,10 +5,10 @@ use std::sync::{Mutex as StdMutex, OnceLock}; use std::time::Duration; use api::{ - ApiError, ContentBlockDelta, ContentBlockDeltaEvent, ContentBlockStartEvent, - ContentBlockStopEvent, InputContentBlock, InputMessage, MessageDeltaEvent, MessageRequest, - OpenAiCompatClient, OpenAiCompatConfig, OutputContentBlock, ProviderClient, StreamEvent, - ToolChoice, ToolDefinition, + build_http_client_with, ApiError, ContentBlockDelta, ContentBlockDeltaEvent, + ContentBlockStartEvent, ContentBlockStopEvent, InputContentBlock, InputMessage, + MessageDeltaEvent, MessageRequest, OpenAiCompatClient, OpenAiCompatConfig, OutputContentBlock, + ProviderClient, ProxyConfig, StreamEvent, ToolChoice, ToolDefinition, }; use serde_json::json; use tokio::io::{AsyncReadExt, AsyncWriteExt}; @@ -535,14 +535,11 @@ async fn openai_compatible_client_honors_http_proxy_for_requests() { )], ) .await; - let _http_proxy = ScopedEnvVar::set("HTTP_PROXY", proxy.base_url()); - let _https_proxy = ScopedEnvVar::unset("HTTPS_PROXY"); - let _no_proxy = ScopedEnvVar::unset("NO_PROXY"); - let _http_proxy_lower = ScopedEnvVar::unset("http_proxy"); - let _https_proxy_lower = ScopedEnvVar::unset("https_proxy"); - let _no_proxy_lower = ScopedEnvVar::unset("no_proxy"); + let proxied_http = build_http_client_with(&ProxyConfig::from_proxy_url(proxy.base_url())) + .expect("proxy client should build"); let client = OpenAiCompatClient::new("openai-test-key", OpenAiCompatConfig::openai()) + .with_http_client(proxied_http) .with_base_url("http://origin.invalid/v1"); let response = client .send_message(&MessageRequest {