vtcode_core/llm/providers/openai/
headers.rs1use reqwest::RequestBuilder;
2use serde_json::Value;
3
4pub(crate) fn apply_json_content_type(builder: RequestBuilder) -> RequestBuilder {
5 builder.header("Content-Type", "application/json")
6}
7
8pub(crate) fn apply_responses_beta(builder: RequestBuilder) -> RequestBuilder {
9 builder.header("OpenAI-Beta", "responses=v1")
10}
11
12pub(crate) fn apply_turn_metadata(
15 builder: RequestBuilder,
16 metadata: &Option<Value>,
17) -> RequestBuilder {
18 if let Some(metadata) = metadata
19 && let Ok(metadata_str) = serde_json::to_string(metadata)
20 {
21 return builder.header("X-Turn-Metadata", metadata_str);
22 }
23 builder
24}
25
26pub(crate) fn apply_client_request_id(
27 builder: RequestBuilder,
28 client_request_id: &str,
29) -> RequestBuilder {
30 if client_request_id.trim().is_empty() {
31 return builder;
32 }
33 builder.header("X-Client-Request-Id", client_request_id)
34}