4个版本
0.6.0 | 2023年10月14日 |
---|---|
0.5.3 | 2023年10月13日 |
0.5.2 | 2023年10月11日 |
0.5.1 | 2023年10月11日 |
#31 in #tonic
每月44次下载
135KB
2.5K SLoC
hyper-server
hyper-server是一个高性能的hyper服务器实现,旨在与axum、tonic和tower一起使用。
特性
- HTTP/1和HTTP/2
- 通过rustls和openssl实现HTTPS。
- 通过hyper实现高性能。
- 使用tower创建服务API。
- 出色的axum兼容性。可能适用于未来的axum版本。
- 出色的tonic兼容性。可能适用于未来的tonic版本。
- 支持代理协议,可在网络负载均衡器后面使用
使用示例
一个简单的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_server::bind(addr)
.serve(app.into_make_service())
.await
.unwrap();
}
更多示例可以在这里找到。
最低支持的Rust版本
hyper-server的MSRV是1.65
。
安全性
此存储库使用#![forbid(unsafe_code)]
来确保所有内容都是100%安全的Rust实现。
许可证
本项目采用MIT许可证。
为什么分支
本项目基于axum-server中的出色工作,该库不再积极维护。分支的理由是我们使用此库用于关键基础设施,并希望能够根据需要扩展存储库和修复错误。
依赖关系
~6–21MB
~253K SLoC