用于 Rust 的同步 http 客户端?
A synchronous http client for rust?
我正在寻找 Rust 中的低开销 HTTP 客户端来为 AWS lambda 创建自定义运行时。我找到的所有实现(包括来自 AWS 的官方运行时)都是基于 hyper/tokio 的,我不想要开销,也不想要增加的二进制权重。
你认识一个吗? 所有 框架都基于 tokio 是有原因的吗?
谢谢,
Is there a reason all frameworks are based on tokio ?
Tokio
crate 由许多人贡献并由他们维护。由于它开发和维护得很好,在这个基础上放置新的板条箱是一个明智的想法。
这就是为什么许多图书馆都依赖于 Tokio
而它是 variant/relevant 个箱子。
由于 Tokio
是基于像 tokio-tcp
、tokio-codec
、tokio-io
、tokio-executor
等最小子 crate。这些 crate 可以单独导入,因此您的版本大小将相当小。
如果您坚持不使用任何 tokio
依赖项,仍然有一些选择,但它们将由相对较少的贡献者开发和维护。
这里有一些不使用 Tokio 的 HTTP 客户端选项:
- Ureq
- Minreq
- cHttp
- easy-http-request(您可以尝试在此基础上构建 http 客户端)
- cabot
除了这些选择之外还有很多选择,但在我看来,我导入了最小的 tokio 相关包并在它们之上实现我的应用程序。
我正在寻找 Rust 中的低开销 HTTP 客户端来为 AWS lambda 创建自定义运行时。我找到的所有实现(包括来自 AWS 的官方运行时)都是基于 hyper/tokio 的,我不想要开销,也不想要增加的二进制权重。
你认识一个吗? 所有 框架都基于 tokio 是有原因的吗?
谢谢,
Is there a reason all frameworks are based on tokio ?
Tokio
crate 由许多人贡献并由他们维护。由于它开发和维护得很好,在这个基础上放置新的板条箱是一个明智的想法。
这就是为什么许多图书馆都依赖于 Tokio
而它是 variant/relevant 个箱子。
由于 Tokio
是基于像 tokio-tcp
、tokio-codec
、tokio-io
、tokio-executor
等最小子 crate。这些 crate 可以单独导入,因此您的版本大小将相当小。
如果您坚持不使用任何 tokio
依赖项,仍然有一些选择,但它们将由相对较少的贡献者开发和维护。
这里有一些不使用 Tokio 的 HTTP 客户端选项:
- Ureq
- Minreq
- cHttp
- easy-http-request(您可以尝试在此基础上构建 http 客户端)
- cabot
除了这些选择之外还有很多选择,但在我看来,我导入了最小的 tokio 相关包并在它们之上实现我的应用程序。