1use tokio;
2use threema_client::blob_api;
3use std::io::prelude::*;
4use std::io::BufReader;
5use env_logger;
6
7#[tokio::main]
8async fn main(){
9 env_logger::init();
10 let argv = std::env::args().collect::<Vec<_>>();
11 let mut blob = vec![];
12 if argv.len() == 2 {
13 let fname = &argv[1];
14 let f = std::fs::File::open(fname).expect(fname);
15 BufReader::new(f).read_to_end(&mut blob).expect(fname);
16 }
17 else {
18 std::io::stdin().lock().read_to_end(&mut blob).expect("reading stdin");
19 }
20 let c = blob_api::Client::new();
21 let blobid = c.upload(&blob).await.expect("upload blob");
22 println!("{}", blobid.hex());
23}