summaryrefslogtreecommitdiffstats
path: root/ipfs-api/examples/replace_config.rs
blob: 65d418e5070840c92a64d7bde8fbc0cf040123ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2017 rust-ipfs-api Developers
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
//

use futures::Future;
use ipfs_api::IpfsClient;
use std::io::Cursor;
use tokio::runtime::current_thread::Runtime;

// Creates an Ipfs client, and replaces the config file with the default one.
//
fn main() {
    println!("note: this must be run in the root of the project repository");
    println!("connecting to localhost:5001...");

    let client = IpfsClient::default();
    let default_config = include_str!("default_config.json");
    let req = client
        .config_replace(Cursor::new(default_config))
        .map(|_| println!("replaced file"))
        .map_err(|e| println!("{}", e));

    Runtime::new()
        .expect("tokio runtime")
        .block_on(req)
        .expect("successful response");
}