diff options
| author | sigoden <sigoden@gmail.com> | 2024-04-29 23:04:25 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-29 23:04:25 +0800 |
| commit | 4d4a100fe6fcde7ca3afcf7971ac387d355349eb (patch) | |
| tree | 2a43194cb99b4193cbf8e35162bbc8d6660d58b9 /src/client/claude.rs | |
| parent | ffb0af8236331c942f19ae7c4c4da38a6d0e8214 (diff) | |
| download | aichat-4d4a100fe6fcde7ca3afcf7971ac387d355349eb.tar.gz | |
refactor: sse handling (#465)
Diffstat (limited to 'src/client/claude.rs')
| -rw-r--r-- | src/client/claude.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs index be68af1..c76a589 100644 --- a/src/client/claude.rs +++ b/src/client/claude.rs @@ -1,7 +1,7 @@ use super::{ catch_error, extract_system_message, sse_stream, ClaudeClient, CompletionDetails, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelConfig, PromptType, SendData, - SseHandler, + SsMmessage, SseHandler, }; use crate::utils::PromptKind; @@ -67,8 +67,8 @@ pub async fn claude_send_message_streaming( builder: RequestBuilder, handler: &mut SseHandler, ) -> Result<()> { - let handle = |data: &str| -> Result<bool> { - let data: Value = serde_json::from_str(data)?; + let handle = |message: SsMmessage| -> Result<bool> { + let data: Value = serde_json::from_str(&message.data)?; if let Some(typ) = data["type"].as_str() { if typ == "content_block_delta" { if let Some(text) = data["delta"]["text"].as_str() { |
