7 个版本
0.0.6 | 2022 年 3 月 20 日 |
---|---|
0.0.5 | 2022 年 3 月 17 日 |
0.0.0 | 2022 年 2 月 24 日 |
992 在 HTTP 服务器 中排名
每月 下载 31 次
76KB
1.5K SLoC
http4r
核心
http4r 的主要合约和功能。
- 处理程序、服务器和客户端
- 将 http 消息写入/读取到线缆
- 不可变请求、响应、Uri、Headers、Query 等。
- 支持简单消息、流、压缩和分块编码
- 即将推出:多部分、x-www-form-urlencoded
哲学
- 简单性
- 优先选择简单同步的 http 抽象
- 通过组合扩展而不是配置
- 极简主义
- 尽可能使用最少的依赖项来减少表面面积、crate 大小和升级复杂性
- 不发布方便函数等,而是在文档中共享食谱
- 兼容性
- 尝试保持向后兼容
- 但与 Rust 本身不同,宁愿破坏它而不是保持一个限制性的抽象
- 为了减少这种情况,不要像上面提到的那样发布方便函数!
关于
- http4r 基于 Dan 的 项目 utterlyidle 和 http-handler.rust 以及 http4t,由 Matt 建立,并基于 http4k,受到 Mr Dave 和 Ivan Sanchez 的启发。
- 它基于 作为函数的服务器
- 可组合的 http 处理程序实现
(Request) -> Response
- 不可变
Request
、Response
、Headers
等 - 没有魔法或反射,极其简单且无依赖
- 易于通过线缆或内存进行测试
- 可以通过将您的应用程序编译为 WASM 在浏览器中测试(而不是通过线缆!)因此我们可以为我们的前端编写快速的测试
- 可组合的 http 处理程序实现
GPL 版权
http4r 是一个网络工具包版权(C)2021及以后汤姆·沙查姆
本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为3或更高版本。
本程序的分发是希望它将是有用的,但没有任何保证;甚至没有关于其适销性或适用于特定目的的暗示性保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已随本程序收到一份GNU通用公共许可证副本(见COPYING文件)。如果没有,请参阅https://www.gnu.org/licenses/。
贡献
我是 Rust 新手或者 Rust 知识有点生疏
请参阅 http4r 的贡献指南
依赖关系
~10MB
~325K SLoC