5 个版本 (稳定)
1.0.3 | 2021 年 4 月 2 日 |
---|---|
0.1.0 | 2021 年 4 月 2 日 |
0.0.0 |
|
#5 在 #web-programming
39KB
839 行
hyper 的简单包装器
Rhodium 允许将 hyper 服务器创建为处理程序堆栈。
每个处理程序都有自己的 handle_request
和 handle_response
方法。处理程序按照处理请求的顺序执行,按照响应处理的反向顺序执行。在执行 handle_request
和 handle_response
函数的顺序总结在下图
每个处理程序都是一个实现 RhodHandler
特性的结构体,而服务是一个实现 RhodService
特性的结构体。
RhodHandlers + RhodService 构成一个 RhodStack
要使用 Rhodium,您只需创建一个 RhodStack
,设置 hyper 服务器将监听的套接字地址以及要使用的协议(HTTP)。
如果处理程序 i 在处理请求时返回错误:将调用下一个处理程序的 catch_request
函数(处理程序 i+1,i+2,...,n),然后结束流程。
如果 Service
返回错误:结束流程。如果处理程序 i 在处理响应时返回错误:将调用下一个处理程序的 catch_response
函数(处理程序 i-1,i-2,...,1),然后结束流程。
测试
cargo test
依赖关系
~16–30MB
~501K SLoC