49 个版本
新 0.16.6 | 2024 年 8 月 23 日 |
---|---|
0.16.5 | 2024 年 7 月 10 日 |
0.16.3 | 2024 年 5 月 22 日 |
0.16.0 | 2024 年 3 月 11 日 |
0.1.4 | 2020 年 7 月 28 日 |
#492 在 Rust 模式
4,216 每月下载量
用于 prima-tracing
98KB
2K SLoC
bridge.rs
Prima bridge 模式在 Rust 中的实现
示例
您可以在 示例 目录中找到所有示例。
lib.rs
:
这个 crate 提供了一个高级 API 来执行外部 HTTP 请求。
它旨在提供构建与其他服务桥梁的基本构建块,同时抽象出添加自定义头和请求跟踪等低级功能。
它支持 REST 和 GraphQL 请求。
您应该从创建一个 [Bridge] 实例开始。此实例应该在整个应用程序生命周期中存在。
不要在每个请求上创建一个新的桥梁!
您应该使用类似 once_cell 或 lazy_static 的东西,或者某种类型的控制反转容器来传递。
桥梁实现了一个类型状态模式来构建外部请求。
特性
-
auth0
- 启用 auth0 集成,允许 bridge.rs 从 auth0 获取令牌进行身份验证 -
gzip
- 提供响应体 gzip 解压缩。 -
redis-tls
- 添加通过 tls 连接到 redis 的支持 -
tracing-opentelemetry
添加了对 opentelemetry 的集成支持。此功能是tracing_opentelemetry_0_21
功能的别名。也提供了tracing_opentelemetry_0_20
以支持 0.20 opentelemetry 库。我们将支持至少 opentelemetry 的最后三个版本。在那之后,我们可能会移除对旧版 otel 版本的支持,而不会造成破坏性更改。
依赖关系
~6–22MB
~362K SLoC