21 个版本
0.5.2 | 2024 年 2 月 23 日 |
---|---|
0.5.0 | 2023 年 11 月 21 日 |
0.4.3 | 2023 年 7 月 20 日 |
0.4.0 | 2023 年 2 月 24 日 |
0.0.0 | 2017 年 3 月 10 日 |
#7 in Web 编程
2,495,194 每月下载量
用于 996 个 crate (479 直接)
665KB
13K SLoC
Tower HTTP
Tower 中间件和 HTTP 客户端/服务器的实用工具。
有关此 crate 的更多信息,请参阅 crate 文档。
中间件
Tower HTTP 包含许多在构建 HTTP 服务器和客户端时通常很有用的中间件。一些亮点包括
Trace
添加了请求和响应的高级日志记录。支持常规 HTTP 请求以及 gRPC。Compression
和Decompression
用于压缩/解压缩响应体。FollowRedirect
以自动遵循重定向响应。
有关中间件的完整列表,请参阅 文档。
中间件使用 http crate 作为 HTTP 接口,因此它们与任何也使用 http 的库或框架兼容。例如 hyper。
这些中间件最初是从 @EmbarkStudios 的一个内部项目中提取出来的。
示例
示例文件夹 examples 包含了使用 Tower HTTP 的各种示例
- warp-key-value-store:使用 warp 构建的具有 HTTP API 的键/值存储。
- tonic-key-value-store:使用 tonic 构建的具有 gRPC API 和客户端的键/值存储。
- axum-key-value-store:使用 axum 构建的具有 HTTP API 的键/值存储。
最低支持的 Rust 版本
tower-http 的最低支持 Rust 版本是 1.66。
获取帮助
如果你是 Tower 新手,可以查看其指南以获取帮助。在 tower-http 仓库中,我们还有一些示例,展示了如何将所有内容组合在一起。你也可以在#tower
Discord 频道中提问或者通过问题向我们提问。
贡献
🎈 感谢你为改进项目做出贡献!我们非常高兴有你!我们有一个贡献指南,帮助你参与 Tower HTTP 项目。
许可
本项目采用MIT 许可证。
贡献
除非你明确说明,否则你提交给 Tower HTTP 的任何有意贡献都应被视为 MIT 许可,不附加任何额外条款或条件。
依赖
~1.3–5.5MB
~131K SLoC