mirror of
https://github.com/openai/codex.git
synced 2026-09-04 15:08:45 +00:00
## What changed - Rename `ReqwestHttpClient` to `RouteAwareHttpClient` to reflect that delegated HTTP uses Codex's shared route-aware transport. - Use `codex_http_client` response and error types plus transport-neutral `http` and `url` types, removing the exec server's direct `reqwest` dependency. ## Testing - Cover fragment stripping and Unicode hostname normalization for delegated HTTP requests. GitOrigin-RevId: 8b0fc60a76004feb57198bfb4afb1371c9ceb1bd
27 lines
1.2 KiB
Rust
27 lines
1.2 KiB
Rust
//! HTTP client capability implementations shared by local and remote environments.
|
|
//!
|
|
//! This module is the facade for the environment-owned [`crate::HttpClient`]
|
|
//! capability:
|
|
//! - [`RouteAwareHttpClient`] executes requests through the shared transport
|
|
//! - [`ExecServerClient`] forwards requests over the JSON-RPC transport
|
|
//! - [`HttpResponseBodyStream`] presents buffered local bodies and streamed
|
|
//! remote `http/request/bodyDelta` notifications through one byte-stream API
|
|
//!
|
|
//! Runtime split:
|
|
//! - orchestrator process: holds an `Arc<dyn HttpClient>` and chooses local or
|
|
//! remote execution
|
|
//! - remote runtime: serves the `http/request` RPC and runs the concrete local
|
|
//! HTTP request there when the orchestrator uses [`ExecServerClient`]
|
|
|
|
#[path = "http_response_body_stream.rs"]
|
|
pub(crate) mod response_body_stream;
|
|
#[path = "route_aware_http_client.rs"]
|
|
mod route_aware_http_client;
|
|
#[path = "rpc_http_client.rs"]
|
|
mod rpc_http_client;
|
|
|
|
pub use response_body_stream::HttpResponseBodyStream;
|
|
pub(crate) use route_aware_http_client::PendingRouteAwareHttpBodyStream;
|
|
pub use route_aware_http_client::RouteAwareHttpClient;
|
|
pub(crate) use route_aware_http_client::RouteAwareHttpRequestRunner;
|