16个版本
0.3.6 | 2020年8月19日 |
---|---|
0.3.5 | 2020年8月18日 |
0.2.7 | 2020年8月6日 |
0.1.0 | 2020年8月3日 |
#101 in #asynchronous
45 每月下载量
415KB
1K SLoC

coder.rs
一个异步、纯Rust封装的Coder企业API。
这目前是实验性的。并非所有路由都已被实现,API预计将会变化。
安装
Coder.rs已在Rust 1.40+上进行了测试。
将其添加到你的Cargo.toml
的[dependencies]
部分
coder = { version = "0.3", features = ["rustls"] }
用法
Coder提供了coder::Coder
结构体来创建请求。
use std::env;
use std::error::Error;
use coder::{Coder, Executor};
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let url = env::var("MANAGER_URL")?;
let api_key = env::var("API_KEY")?;
let c = Coder::new(url, api_key)?;
let res = c.users().me().execute().await?;
dbg!(res);
Ok(())
}
// [src/bin/main.rs:19] res = ApiResponse {
// headers: Headers(
// {
// "server": "openresty/1.15.8.2",
// "date": "Wed, 05 Aug 2020 05:05:11 GMT",
// "content-type": "application/json",
// "content-length": "653",
// "vary": "Accept-Encoding",
// "vary": "Origin",
// "strict-transport-security": "max-age=15724800; includeSubDomains",
// "coder-version": "1.9.0-rc1-220-gd2a04f83a",
// "x-envoy-upstream-service-time": "20",
// },
// ),
// status_code: 200,
// response: Ok(
// User {
// id: "5e876cf4-10abe9b2e54eb609c5ec1870",
// name: "Colin Adler",
// username: "colin",
// email: "[email protected]",
// dotfiles_git_uri: "",
// roles: [
// "site-manager",
// "site-auditor",
// ],
// avatar_hash: "28707dc83fdcba2cacaa3ad5e381b34b7cb37b74",
// key_regenerated_at: 2020-04-03T17:05:56.964782Z,
// created_at: 2020-04-03T17:05:56.964782Z,
// updated_at: 2020-05-29T18:10:33.532351Z,
// },
// ),
// }
特性
rustls
- 使用rustls
纯Rust TLS实现。(默认)rust-native-tls
- 使用native-tls
进行TLS,链接到操作系统默认值。
依赖
~10–23MB
~376K SLoC