mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-26 12:05:05 +08:00
Simplify stream implementation
This commit is contained in:
parent
31df954aa5
commit
9507a20d8b
@ -99,6 +99,16 @@ impl futures_util::Stream for LogStreamer {
|
||||
}
|
||||
}
|
||||
|
||||
impl LogStreamer {
|
||||
pub fn into_stream(self) -> impl futures_util::Stream<Item = Result<Bytes, ResponseError>> {
|
||||
futures_util::stream::unfold(self, move |mut this| async move {
|
||||
let vec = this.receiver.recv().await;
|
||||
|
||||
vec.map(From::from).map(Ok).map(|a| (a, this))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
pub fn make_layer<
|
||||
S: tracing::Subscriber + for<'span> tracing_subscriber::registry::LookupSpan<'span>,
|
||||
>(
|
||||
@ -159,7 +169,7 @@ pub async fn get_logs(
|
||||
.unwrap();
|
||||
|
||||
if was_available {
|
||||
Ok(HttpResponse::Ok().streaming(LogStreamer { receiver }))
|
||||
Ok(HttpResponse::Ok().streaming(LogStreamer { receiver }.into_stream()))
|
||||
} else {
|
||||
Err(MeilisearchHttpError::AlreadyUsedLogRoute.into())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user