Crates.io | helvetia_client |
lib.rs | helvetia_client |
version | 0.1.1 |
source | src |
created_at | 2021-05-03 09:03:45.201537 |
updated_at | 2021-05-03 09:13:20.503219 |
description | An HTTP client for the Helvetia API. |
homepage | https://github.com/apyrgio/helvetia/tree/master/client |
repository | https://github.com/apyrgio/helvetia |
max_upload_size | |
id | 392442 |
size | 26,072 |
An HTTP client for the Helvetia API.
The Helvetia API is a fully documented REST API, which you can interact with via an HTTP client. For those that need a Rust interface on top of this API, they can use this client instead.
Here's an example on how you can instantiate the Helvetia client and use it to create/get/delete a secret:
use url;
use helvetia_client::client::{Data,Meta,HelvetiaClient};
let owner_token = "owner_token";
let meta_token = "meta_token";
let secret_name = "secret";
let data = "The cake is a lie";
let meta = "Aperture";
// Create a client.
let server_url = url::Url::parse("https://helvetia.example.com")?;
let client = HelvetiaClient::from_url(server_url)?;
// Create a secret.
let data_req = Data::new(owner_token, data);
let meta_req = Meta::new(meta_token, meta);
let res = client.create_secret(secret_name, data_req, Some(meta_req)).await?;
assert_eq!(res, ());
// Get the data of a secret.
let res = client.get_secret_data(secret_name, owner_token).await?;
assert_eq!(&res, data);
// Get the metadata of a secret.
let res = client.get_secret_meta(secret_name, meta_token).await?;
assert_eq!(&res, meta);
// Delete a secret.
let res = client.delete_secret(secret_name, owner_token).await?;
assert_eq!(res, ());
You can add this crate to your Cargo.toml
with the following snippet:
helvetia_client = "0.1"
You can read the CONTRIBUTING.md
guide for more info on how to contribute to
this project.
Licensed under MPL-2.0. Please read the NOTICE.md
and LICENSE
files for
the full copyright and license information.