9个版本
0.0.9 | 2022年11月1日 |
---|---|
0.0.8 | 2022年3月1日 |
0.0.7 | 2022年2月20日 |
0.0.5 | 2021年7月16日 |
0.0.4 | 2021年2月22日 |
#1189 在 HTTP服务器
32 每月下载量
62KB
1.5K SLoC
Highnoon
基于Hyper构建的最小化Web框架
这是一个非常早期的开发版本。虽然我对API目前的表现很满意,但任何事情都可能发生变化。
要开始,首先实现包含所有路由处理器共享数据的State
trait。这个trait包含一个方法来获取一个新的Context
,这是在单个请求持续期间共享的数据。通常使用Context
在过滤器之间共享数据。
struct MyState;
impl highnoon::State for MyState {
type Context = ();
fn new_context(&self) -> Context {
()
}
}
然后使用你的State
创建一个App
,附加过滤器并启动服务器。
#[tokio::main]
async fn main() -> highnoon::Result<()> {
let mut app = highnoon::App::new(MyState);
app.with(highnoon::filter::Log);
app.at("/hello").get(|_request| async {
"Hello world!\n\n"
});
app.listen("0.0.0.0:8888").await?;
Ok(())
}
依赖项
~11–24MB
~334K SLoC