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

hyper-serve

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

1 个不稳定版本

0.6.2 2024 年 7 月 17 日

#514网页编程

Download history 77/week @ 2024-07-11 70/week @ 2024-07-18 252/week @ 2024-07-25 130/week @ 2024-08-01 179/week @ 2024-08-08 87/week @ 2024-08-15

659 每月下载量
3 软件包 中使用

MIT 许可证

92KB
2K SLoC

Crates.io Docs

hyper-serve

hyper-serveaxum-server 项目的分支。它是一个用于与 axum 框架一起使用的高性能 hyper 服务器实现。此分支旨在继续原始项目的发展和维护,确保与未来 axum 版本的兼容性,并提供高性能和安全特性。

特性

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

使用示例

一个简单的 hello world 应用程序可以这样提供

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);
    hyper_serve::bind(addr)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

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

最低支持的 Rust 版本

hyper-serve 的 MSRV 是 1.63。

安全性

此软件包使用 #![forbid(unsafe_code)] 确保所有内容都是用 100% 安全的 Rust 实现的。

许可证

此项目受 MIT 许可证许可。

依赖关系

~7–18MB
~253K SLoC