444: Fix the parsing of ndjson requests to index more than the first line r=Kerollmops a=Kerollmops

This PR correctly uses the `BufRead` trait to read every line of the content instead of just the first one. This bug was only affecting the http-ui test crate.

Co-authored-by: Kerollmops <clement@meilisearch.com>
This commit is contained in:
bors[bot] 2022-02-02 17:59:44 +00:00 committed by GitHub
commit 2468ebb76b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1063,12 +1063,11 @@ fn documents_from_jsonl(reader: impl io::Read) -> anyhow::Result<Vec<u8>> {
let mut writer = Cursor::new(Vec::new()); let mut writer = Cursor::new(Vec::new());
let mut documents = milli::documents::DocumentBatchBuilder::new(&mut writer)?; let mut documents = milli::documents::DocumentBatchBuilder::new(&mut writer)?;
let mut buf = String::new(); for result in BufReader::new(reader).lines() {
let mut reader = BufReader::new(reader); let line = result?;
documents.extend_from_json(Cursor::new(line))?;
while reader.read_line(&mut buf)? > 0 {
documents.extend_from_json(&mut buf.as_bytes())?;
} }
documents.finish()?; documents.finish()?;
Ok(writer.into_inner()) Ok(writer.into_inner())