#metrics #logging #client #clevercloud #oauth1a

oauth10a

这是一个支持日志记录、指标和跟踪功能的Rust实现OAuth 1.0a协议的完全异步库

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(())
}

功能

名称 描述
默认 默认启用的功能是clientloggingproxy
client OAuth 1.0a客户端实现
logging 使用log工具crate来打印日志
metrics 使用once_cellprometheuscrate来注册指标
proxy 启用对环境变量http_proxyhttps_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