5 个版本
0.1.4 | 2023年10月29日 |
---|---|
0.1.3 | 2023年10月29日 |
0.1.2 | 2023年10月25日 |
0.1.1 | 2023年10月24日 |
0.1.0 | 2023年10月23日 |
#1969 在 开发工具
26KB
661 行
upcloud
lib.rs
:
Upcloud API 的客户端库,该API的文档位于 https://www.upcloud.com/,并在 https://developers.upcloud.com/ 上记录。
示例阻塞
需要启用 "blocking" 功能。
upcloud_rs = { version = "*", features = ["blocking"] }
use upcloud_rs::{UpcloudApi, UpcloudError};
fn main() -> Result<(), UpcloudError> {
let api = UpcloudApi::new("username", "password");
let account = api.get_account_info()?;
println!("ACCOUNT: {:?}", account);
let account_list = api.get_account_list()?;
println!("ACCOUNT LIST: {:?}", account_list);
let prices = api.get_prices()?;
println!("PRICES: {:#?}", prices);
let zones = api.get_zones()?;
println!("ZONES: {:#?}", zones);
Ok(())
}
示例异步
upcloud_rs = { version = "*" }
use upcloud_rs::{UpcloudApi, UpcloudError};
#[async_std::main]
async fn main() -> Result<(), UpcloudError> {
let api = UpcloudApi::new("username", "password");
let account = api.get_account_info_async().await?;
println!("ACCOUNT: {:?}", account);
let account_list = api.get_account_list_async().await?;
println!("ACCOUNT LIST: {:?}", account_list);
let prices = api.get_prices_async().await?;
println!("PRICES: {:#?}", prices);
Ok(())
}
特性
- "default" - 使用 nativetls
- "default-rustls" - 使用 rusttls
- "blocking" - 启用阻塞API
- "rustls" - 为 reqwest 启用 rustls
- "nativetls" - 添加对 nativetls 的支持 DEFAULT
- "gzip" - 在 reqwest 中启用 gzip
- "brotli" - 在 reqwest 中启用 brotli
- "deflate" - 在 reqwest 中启用 deflate
依赖
~4–17MB
~271K SLoC