summer_ipfs_client/
log.rs

1use std::io::{BufReader, BufRead};
2
3use crate::IpfsApi;
4
5use reqwest;
6use serde_json;
7use serde_json::Value;
8use failure::Error;
9
10impl IpfsApi {
11    pub fn log_tail(&self) -> Result<impl Iterator<Item=Value>, Error> {
12        let mut url = self.get_url()?;
13        url.set_path("api/v0/log/tail");
14        let resp = reqwest::get(url)?;
15
16        let messages = BufReader::new(resp).lines()
17            .filter(|x|x.is_ok())
18            .map(|x|x.unwrap())
19            .map(|x|serde_json::from_str(&x))
20            .filter(|x|x.is_ok())
21            .map(|x|x.unwrap());
22
23        Ok(messages)
24    }
25}