2个版本

0.1.1 2021年5月3日
0.1.0 2021年5月3日

#188 in #rest

MPL-2.0 许可证

26KB
478 代码行

🇨🇭 Helvetia Client

Helvetia API的HTTP客户端。

CI Crates.io Docs.rs

概述

Helvetia API是一个全面文档化的REST API,您可以通过HTTP客户端与之交互。对于那些需要在API之上使用Rust接口的人,可以使用这个客户端。

用法

以下是一个示例,说明如何实例化Helvetia客户端并使用它创建/获取/删除秘密

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, ());

安装

您可以使用以下片段将此crate添加到您的Cargo.toml

helvetia_client = "0.1"

贡献

您可以阅读CONTRIBUTING.md指南以获取有关如何为此项目做出贡献的更多信息。

根据MPL-2.0许可。请阅读NOTICE.mdLICENSE文件以获取完整的版权和许可信息。

依赖关系

~4–15MB
~233K SLoC