15个版本
0.5.1 | 2023年1月9日 |
---|---|
0.4.13 | 2022年2月4日 |
0.4.12 | 2021年8月26日 |
0.4.11 | 2021年7月8日 |
0.4.4 | 2020年6月30日 |
#1189 in HTTP服务器
每月30次下载
120KB
3K SLoC
Saphir是一个为Rust编写的完全异步的http服务器框架
目标是提供对Web堆栈的低级控制(就像hyper一样),而不必从头开始进行耗时的工作。
快速概述
use saphir::prelude::*;
struct TestController {}
#[controller]
impl TestController {
#[get("/{var}/print")]
async fn print_test(&self, var: String) -> (u16, String) {
(200, var)
}
}
async fn test_handler(mut req: Request) -> (u16, Option<String>) {
(200, req.captures_mut().remove("variable"))
}
#[tokio::main]
async fn main() -> Result<(), SaphirError> {
env_logger::init();
let server = Server::builder()
.configure_listener(|l| {
l.interface("127.0.0.1:3000")
})
.configure_router(|r| {
r.route("/{variable}/print", Method::GET, test_handler)
.controller(TestController {})
})
.build();
server.run().await
}
依赖项
~6.5–9MB
~161K SLoC