39次发布
0.3.7 | 2024年4月5日 |
---|---|
0.3.6 | 2023年9月27日 |
0.3.5 | 2023年4月28日 |
0.3.4 | 2023年3月31日 |
0.0.0 | 2018年3月29日 |
在 #server-framework 中排名第2
每月下载量 840,755
用于 568 个crates (475直接)
325KB
7K SLoC
warp
一个超级简单、可组合的Web服务器框架,用于光速。
warp
的基本构建块是 Filter
:它们可以组合和组合,以表达对请求的丰富要求。
由于其 Filter
系统,warp 提供以下功能
- 路径路由和参数提取
- 头部要求和解析
- 查询字符串反序列化
- JSON和表单体
- 多部分表单数据
- 静态文件和目录
- WebSockets
- 访问日志
- Gzip、Deflate和Brotli压缩
因为它构建在 hyper 之上,所以你自动获得
- HTTP/1
- HTTP/2
- 异步
- 最快的HTTP实现之一
- 经过测试且 正确
示例
将 warp 和 Tokio 添加到依赖项
tokio = { version = "1", features = ["full"] }
warp = "0.3"
然后在你的 main.rs
中开始
use warp::Filter;
#[tokio::main]
async fn main() {
// GET /hello/warp => 200 OK with body "Hello, warp!"
let hello = warp::path!("hello" / String)
.map(|name| format!("Hello, {}!", name));
warp::serve(hello)
.run(([127, 0, 0, 1], 3030))
.await;
}
依赖项
~8–20MB
~304K SLoC