1个不稳定版本

0.3.3 2023年2月5日

#1307HTTP服务器

每月 31次下载

MIT 许可证

315KB
6.5K SLoC

warp

crates.io Released API docs MIT licensed GHA Build Status Discord chat

一个超级简单、可组合的,适用于高速的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