5 个版本 (稳定)

1.0.3 2021 年 4 月 2 日
0.1.0 2021 年 4 月 2 日
0.0.0 2020 年 9 月 3 日

#5#web-programming

MIT/Apache

39KB
839

hyper 的简单包装器

Rhodium 允许将 hyper 服务器创建为处理程序堆栈。

每个处理程序都有自己的 handle_requesthandle_response 方法。处理程序按照处理请求的顺序执行,按照响应处理的反向顺序执行。在执行 handle_requesthandle_response 函数的顺序总结在下图

Rhodium

每个处理程序都是一个实现 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