summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md87
1 files changed, 84 insertions, 3 deletions
diff --git a/README.md b/README.md
index 92341ac..e451f2c 100644
--- a/README.md
+++ b/README.md
@@ -10,12 +10,21 @@ Rust library for connecting to the IPFS HTTP API using tokio.
```toml
[dependencies]
-ipfs-api = "0.5.0-alpha2"
+ipfs-api = "0.5.1"
+```
+
+You can use `actix-web` as a backend instead of `hyper`.
+
+```toml
+[dependencies]
+ipfs-api = { version = "0.5.1", features = ["actix"], default-features = false }
```
### Examples
-Write a file to IPFS:
+#### Writing a file to IPFS
+
+##### With Hyper
```rust
#
@@ -36,7 +45,35 @@ let req = client
hyper::rt::run(req);
```
-Read a file from IPFS:
+##### With Actix
+
+```rust
+#
+use futures::future::Future;
+use ipfs_api::IpfsClient;
+use std::io::Cursor;
+
+let client = IpfsClient::default();
+let data = Cursor::new("Hello World!");
+
+let req = client
+ .add(data)
+ .map(|res| {
+ println!("{}", res.hash);
+ })
+ .map_err(|e| eprintln!("{}", e));
+
+actix_web::actix::run(|| {
+ req.then(|_| {
+ actix_web::actix::System::current().stop();
+ Ok(())
+ })
+});
+```
+
+#### Reading a file from IPFS
+
+##### With Hyper
```rust
#
@@ -60,15 +97,59 @@ let req = client
hyper::rt::run(req);
```
+##### With Actix
+
+```rust
+#
+use futures::{Future, Stream};
+use ipfs_api::IpfsClient;
+use std::io::{self, Write};
+
+let client = IpfsClient::default();
+
+let req = client
+ .get("/test/file.json")
+ .concat2()
+ .map(|res| {
+ let out = io::stdout();
+ let mut out = out.lock();
+
+ out.write_all(&res).unwrap();
+ })
+ .map_err(|e| eprintln!("{}", e));
+
+actix_web::actix::run(|| {
+ req.then(|_| {
+ actix_web::actix::System::current().stop();
+ Ok(())
+ })
+});
+```
+
+#### Additional Examples
+
There are also a bunch of examples included in the project, which
I used for testing
+For a list of examples, run:
+
+```sh
+$ cargo run --example
+```
+
You can run any of the examples with cargo:
```sh
$ cargo run -p ipfs-api --example add_file
```
+To run an example with the `actix-web` backend, use:
+
+```sh
+$ cargo run -p ipfs-api --features actix --no-default-features --example add_file
+```
+
+
## License
Licensed under either of