Skip to content

Commit a104386

Browse files
author
Matthijs van Otterdijk
authored
Check the status code for the indexer api result before using its result (#19)
1 parent 02c5502 commit a104386

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

src/server.rs

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -298,17 +298,34 @@ async fn get_operations_from_content_endpoint(
298298
.header(user_forward_header, "admin")
299299
.send()
300300
.await
301-
.unwrap()
302-
.bytes_stream()
303-
.map_err(|e| std::io::Error::new(ErrorKind::Other, e));
304-
let lines = StreamReader::new(res).lines();
305-
let lines_stream = LinesStream::new(lines);
306-
let fp = lines_stream.and_then(|l| {
307-
future::ready(
308-
serde_json::from_str(&l).map_err(|e| std::io::Error::new(ErrorKind::Other, e)),
309-
)
310-
});
311-
Ok(fp)
301+
.unwrap();
302+
let status = res.status();
303+
if status != StatusCode::OK {
304+
let raw_s = res
305+
.bytes()
306+
.await
307+
.map_err(|e| std::io::Error::new(ErrorKind::Other, e))?;
308+
let s = String::from_utf8_lossy(&raw_s);
309+
Err(io::Error::new(
310+
io::ErrorKind::Other,
311+
format!(
312+
"terminusdb indexer endpoint failed with status code {}:\n{}",
313+
status, s
314+
),
315+
))
316+
} else {
317+
let res = res
318+
.bytes_stream()
319+
.map_err(|e| std::io::Error::new(ErrorKind::Other, e));
320+
let lines = StreamReader::new(res).lines();
321+
let lines_stream = LinesStream::new(lines);
322+
let fp = lines_stream.and_then(|l| {
323+
future::ready(
324+
serde_json::from_str(&l).map_err(|e| std::io::Error::new(ErrorKind::Other, e)),
325+
)
326+
});
327+
Ok(fp)
328+
}
312329
}
313330

314331
#[derive(Debug, Error)]
@@ -434,7 +451,7 @@ impl Service {
434451
index_id: &str,
435452
content_endpoint: String,
436453
) -> Result<(String, HnswIndex), IndexError> {
437-
let internal_task_id = task_id.clone();
454+
let internal_task_id = task_id;
438455
let opstream = get_operations_from_content_endpoint(
439456
content_endpoint.to_string(),
440457
self.user_forward_header.clone(),

0 commit comments

Comments
 (0)