#http-server #server #hyper-server #web #http #https #tower-service

axum-server

为与 axum 框架一起使用而设计的高级服务器

25次发布

0.7.1 2024年7月31日
0.6.0 2023年12月22日
0.5.1 2023年5月15日
0.4.7 2023年3月19日
0.3.3 2021年11月25日

18 in Web编程

Download history 79233/week @ 2024-05-01 89250/week @ 2024-05-08 87022/week @ 2024-05-15 76648/week @ 2024-05-22 82068/week @ 2024-05-29 76036/week @ 2024-06-05 82837/week @ 2024-06-12 74489/week @ 2024-06-19 84275/week @ 2024-06-26 71406/week @ 2024-07-03 85371/week @ 2024-07-10 80655/week @ 2024-07-17 75348/week @ 2024-07-24 74353/week @ 2024-07-31 71681/week @ 2024-08-07 71055/week @ 2024-08-14

308,392 monthly downloads
用于 80 个Crate(71个直接使用)

MIT 许可证

86KB
1.5K SLoC

License Crates.io Docs

axum-server

axum-server 是一个用于与 axum 框架一起使用的 hyper 服务器实现。

此项目由社区独立于 axum 进行维护。

特性

  • HTTP/1 和 HTTP/2
  • 通过 rustls 提供 HTTPS。
  • 通过 hyper 实现高性能。
  • 使用 tower 创建服务API。
  • axum 兼容性非常好。可能与未来 axum 版本兼容。

使用示例

一个简单的“你好,世界”应用可以像这样提供服务

use axum::{routing::get, Router};
use std::net::SocketAddr;

#[tokio::main]
async fn main() {
    let app = Router::new().route("/", get(|| async { "Hello, world!" }));

    let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
    println!("listening on {}", addr);
    axum_server::bind(addr)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

您可以在 这里 找到更多示例。

最低支持的 Rust 版本

axum-server 的最低支持 Rust 版本是 1.63

安全性

此crate使用 #![forbid(unsafe_code)] 确保所有内容都在 100% 安全的 Rust 中实现。

许可证

此项目使用 MIT 许可证

依赖关系

~7–18MB
~253K SLoC