summer_ipfs_client/
version.rs

1use crate::IpfsApi;
2
3use reqwest;
4use serde_json;
5use failure::Error;
6
7#[derive(Deserialize, Debug)]
8#[serde(rename_all="PascalCase")]
9pub struct IpfsVersion {
10    version: String,
11    commit: String,
12    repo: String,
13    system: String,
14    golang: String
15}
16
17impl IpfsApi {
18    pub fn version(&self) -> Result<IpfsVersion, Error> {
19        let url = format!("http://{}:{}/api/v0/version", self.server, self.port);
20        let resp = reqwest::get(&url)?;
21        Ok(serde_json::from_reader(resp)?)
22    }
23}