0.1.0-preview.2 |
|
---|---|
0.1.0-preview.1 |
|
#6 in #asgi
在 3 crate 中使用
6KB
113 行
izanami
受ASGI启发的简单Web应用程序接口。
这个库处于实验阶段,不能用于生产。
这个项目的目标是建立一个关注简单性和易于扩展的Web应用程序接口,并提供基于此接口的HTTP服务器的参考实现。
原因
许多现有的Rust HTTP服务器和Web框架使用将HTTP请求作为参数,并返回相应响应的Web应用程序模型。尽管这种模型对许多具有RESTful架构的Web应用程序来说效果很好,但它有以下缺点
-
难以编写应用程序返回响应后的清理过程。在许多情况下,应用程序需要等待对客户端的响应直到清理过程完成,或者后台生成一个任务来继续清理。
-
在某些用例中,例如WebSocket,上述以返回响应结束应用程序逻辑的模型不适用。
-
应用程序需要准备表示响应体的具体类型。如果应用程序由多个分支组成,并且它们有不同的主体类型,则需要提供一个枚举来总结它们的类型。
本项目旨在建立一个可以克服上述缺点,并能够连接现有传统(RPC-like)应用程序的Web应用程序模型。
状态
正在进行中(WIP)
许可证
本项目受以下任一许可证的许可
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache许可证,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
任选其一。
依赖
~605KB
~11K SLoC