summaryrefslogtreecommitdiffstats
path: root/src/client/claude.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-29 23:04:25 +0800
committerGitHub <noreply@github.com>2024-04-29 23:04:25 +0800
commit4d4a100fe6fcde7ca3afcf7971ac387d355349eb (patch)
tree2a43194cb99b4193cbf8e35162bbc8d6660d58b9 /src/client/claude.rs
parentffb0af8236331c942f19ae7c4c4da38a6d0e8214 (diff)
downloadaichat-4d4a100fe6fcde7ca3afcf7971ac387d355349eb.tar.gz
refactor: sse handling (#465)
Diffstat (limited to 'src/client/claude.rs')
-rw-r--r--src/client/claude.rs6
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() {