mirror of
https://github.com/AppFlowy-IO/AppFlowy-Cloud.git
synced 2025-04-19 03:24:42 -04:00
chore: propagate error to client (#1276)
* chore: return error * chore: log parse json error
This commit is contained in:
parent
d3338d03b4
commit
a36bad83a4
2 changed files with 9 additions and 6 deletions
|
@ -448,7 +448,7 @@ impl Stream for QuestionStream {
|
|||
},
|
||||
Some(Err(err)) => {
|
||||
error!("Error while streaming answer: {:?}", err);
|
||||
Poll::Pending
|
||||
Poll::Ready(Some(Err(err)))
|
||||
},
|
||||
None => Poll::Ready(None),
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ use serde_json::de::SliceRead;
|
|||
use serde_json::StreamDeserializer;
|
||||
use std::error::Error as StdError;
|
||||
use std::task::{Context, Poll};
|
||||
use tracing::error;
|
||||
|
||||
pub async fn check_response(resp: reqwest::Response) -> Result<(), Error> {
|
||||
let status_code = resp.status();
|
||||
|
@ -106,12 +107,14 @@ where
|
|||
this.buffer.drain(0..offset);
|
||||
return Poll::Ready(Some(Ok(value)));
|
||||
},
|
||||
Some(Err(err)) if err.is_eof() => {
|
||||
// Wait for more data if EOF indicates incomplete data
|
||||
return Poll::Pending;
|
||||
},
|
||||
Some(Err(err)) => {
|
||||
return Poll::Ready(Some(Err(err.into())));
|
||||
return if err.is_eof() {
|
||||
// Wait for more data if EOF indicates incomplete data
|
||||
Poll::Pending
|
||||
} else {
|
||||
error!("parse json stream failed: {:?}", err);
|
||||
Poll::Ready(Some(Err(err.into())))
|
||||
};
|
||||
},
|
||||
None => {
|
||||
// No complete object is ready, wait for more data
|
||||
|
|
Loading…
Add table
Reference in a new issue