1个不稳定版本
0.3.3 | 2023年2月5日 |
---|
#1307 在 HTTP服务器
每月 31次下载
315KB
6.5K 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;
}
依赖关系
~12–29MB
~433K SLoC