32个稳定版本
1.5.1 | 2023年7月31日 |
---|---|
1.3.18 | 2023年3月13日 |
1.3.16 | 2022年11月21日 |
1.3.11 | 2022年7月18日 |
1.2.2 | 2021年11月22日 |
#82 in 认证
每月34次下载
在clevercloud-sdk中使用
44KB
913 行
OAuth 1.0a crate
这个crate提供了一个支持日志记录、指标和跟踪功能的完全异步OAuth 1.0a客户端实现。它最初是为了与Clever-Cloud的API交互而设计的,但后来已经扩展为更通用。
状态
这个crate已准备好投入生产,如果您可能遇到bug,请提交一个问题以修复问题。
安装
要安装此依赖项,只需将以下行添加到您的Cargo.toml
清单中。
oauth10a = { version = "^1.5.1", features = ["metrics"] }
使用
下面,您将找到执行对API的简单请求的示例。
use std::error::Error;
use oauth10a::client::{Client, Credentials, RestClient, proxy::ProxyConnectorBuilder};
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
let connector = ProxyConnectorBuilder::try_from_env()?;
let client = Client::builder()
.with_credentials(Credentials {
token: "".to_string(),
secret: "".to_string(),
consumer_key: "".to_string(),
consumer_secret: "".to_string(),
})
.build(connector);
let _obj: BtreeMap<String, String> = client.get("https://example.com/object.json").await?;
Ok(())
}
功能
名称 | 描述 |
---|---|
默认 | 默认启用的功能是client 、logging 、proxy |
client | OAuth 1.0a客户端实现 |
logging | 使用log 工具crate来打印日志 |
metrics | 使用once_cell 和prometheus crate来注册指标 |
proxy | 启用对环境变量http_proxy 和https_proxy 的支持 |
指标
下面,是Prometheus收集的暴露的指标
名称 | 标签 | 类型 | 描述 |
---|---|---|---|
oauth10a_client_request | endpoint: String, method: String, status: Integer | Counter | API上的请求数量 |
oauth10a_client_request_duration | endpoint: String, method: String, status: Integer, unit: String | Counter | API上的请求持续时间 |
许可
见许可。
联系方式
依赖
~0–13MB
~157K SLoC