Skip to main content

RequestAdapter

Type Alias RequestAdapter 

Source
pub type RequestAdapter = Arc<dyn Fn(&mut Value, &mut HeaderMap) -> Result<(), AdkError> + Sync + Send>;
Available on crate features models and openai only.
Expand description

Applies provider-specific JSON fields and headers before a generation request.

The adapter must preserve the requested response mode and must not perform I/O. It runs for each HTTP attempt under the model’s configured retry policy.

§Example

use adk_model::openai::{OpenAICompatible, OpenAICompatibleConfig, RequestAdapter};
use std::sync::Arc;

let adapter: RequestAdapter = Arc::new(|body, headers| {
    body["metadata"] = serde_json::json!({"application": "example"});
    headers.insert("x-request-source", "example".parse().expect("valid header"));
    Ok(())
});
let client = OpenAICompatible::new(OpenAICompatibleConfig::new("sk-key", "gpt-5-mini"))?
    .with_request_adapter(adapter);

Aliased Type§

pub struct RequestAdapter { /* private fields */ }