From ba3bcfd67c1d6fea5d3d3c5908c975682ee7909b Mon Sep 17 00:00:00 2001 From: sigoden Date: Wed, 22 May 2024 21:29:23 +0800 Subject: feat: allow patching req body with client config (#534) --- src/client/claude.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/client/claude.rs') diff --git a/src/client/claude.rs b/src/client/claude.rs index 8dc4dce..6296cda 100644 --- a/src/client/claude.rs +++ b/src/client/claude.rs @@ -1,7 +1,7 @@ use super::{ - catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, CompletionOutput, - ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData, PromptAction, - PromptKind, SendData, SsMmessage, SseHandler, ToolCall, + catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, Client, + CompletionOutput, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData, + ModelPatches, PromptAction, PromptKind, SendData, SsMmessage, SseHandler, ToolCall, }; use anyhow::{bail, Context, Result}; @@ -17,6 +17,7 @@ pub struct ClaudeConfig { pub api_key: Option, #[serde(default)] pub models: Vec, + pub patches: Option, pub extra: Option, } @@ -29,7 +30,8 @@ impl ClaudeClient { fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result { let api_key = self.get_api_key().ok(); - let body = claude_build_body(data, &self.model)?; + let mut body = claude_build_body(data, &self.model)?; + self.patch_request_body(&mut body); let url = API_BASE; -- cgit v1.2.3