summaryrefslogtreecommitdiffstats
path: root/src/client/claude.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/claude.rs')
-rw-r--r--src/client/claude.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs
index 91ed163..7a4dd36 100644
--- a/src/client/claude.rs
+++ b/src/client/claude.rs
@@ -118,13 +118,19 @@ async fn send_message_streaming(builder: RequestBuilder, handler: &mut ReplyHand
match err {
EventSourceError::StreamEnded => {}
EventSourceError::InvalidStatusCode(code, res) => {
- let data: Value = res.json().await?;
+ let text = res.text().await?;
+ let data: Value = match text.parse() {
+ Ok(data) => data,
+ Err(_) => {
+ bail!("Request failed, {code}, {text}");
+ }
+ };
check_error(&data)?;
- bail!("Invalid status code: {code}");
+ bail!("Request failed, {code}, {text}");
}
EventSourceError::InvalidContentType(_, res) => {
let text = res.text().await?;
- bail!("The endpoint is invalid as the response content-type is not 'text/event-stream', {text}");
+ bail!("The API server should return data as 'text/event-stream', but it isn't. Check the client config. {text}");
}
_ => {
bail!("{}", err);