0.1.0-preview.2 |
|
---|---|
0.1.0-preview.1 |
|
#46 in #tower-service
在 2 crate 中使用
20KB
543 行
izanami
受 ASGI 启发的简单 Web 应用程序界面。
此库处于实验阶段,不能用于生产环境。
此项目的目标是建立一个以简单和易于扩展为重点的 Web 应用程序接口,并提供基于其接口的 HTTP 服务器参考实现。
理由
许多 Rust 的 HTTP 服务器和 Web 框架今天使用将 HTTP 请求作为参数,将相应的响应作为返回值的 Web 应用程序模型。尽管此模型对许多具有 RESTful 架构的 Web 应用程序工作良好,但它有以下缺点
-
将应用逻辑返回后的清理过程作为应用程序逻辑编写很困难。在许多情况下,应用程序需要等待客户端响应完成清理过程,或者创建一个任务以在后台继续清理。
-
在某些用例中,例如 WebSocket,上述以返回响应结束应用程序逻辑的模型不匹配。
-
应用程序需要准备表示响应体的具体类型。如果应用程序由多个分支组成,它们有不同的主体类型,则需要提供一个总结其类型的枚举。
此项目旨在建立另一种可以克服上述缺点并可以连接使用传统(RPC 类似)应用程序的现有 Web 应用程序的 Web 应用程序模型。
状态
进行中
许可证
此项目根据您的选择受以下任一许可证的许可
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
。
依赖项
~625KB
~11K SLoC