0.1.0-preview.2 2019 年 3 月 27 日
0.1.0-preview.1 2019 年 1 月 15 日

#46 in #tower-service


2 crate 中使用

MIT/Apache

20KB
543

izanami

ASGI 启发的简单 Web 应用程序界面。

此库处于实验阶段,不能用于生产环境。

此项目的目标是建立一个以简单和易于扩展为重点的 Web 应用程序接口,并提供基于其接口的 HTTP 服务器参考实现。

理由

许多 Rust 的 HTTP 服务器和 Web 框架今天使用将 HTTP 请求作为参数,将相应的响应作为返回值的 Web 应用程序模型。尽管此模型对许多具有 RESTful 架构的 Web 应用程序工作良好,但它有以下缺点

  • 将应用逻辑返回后的清理过程作为应用程序逻辑编写很困难。在许多情况下,应用程序需要等待客户端响应完成清理过程,或者创建一个任务以在后台继续清理。

  • 在某些用例中,例如 WebSocket,上述以返回响应结束应用程序逻辑的模型不匹配。

  • 应用程序需要准备表示响应体的具体类型。如果应用程序由多个分支组成,它们有不同的主体类型,则需要提供一个总结其类型的枚举。

此项目旨在建立另一种可以克服上述缺点并可以连接使用传统(RPC 类似)应用程序的现有 Web 应用程序的 Web 应用程序模型。

状态

进行中

许可证

此项目根据您的选择受以下任一许可证的许可

依赖项

~625KB
~11K SLoC