2 releases
new 0.5.3 | Nov 5, 2024 |
---|---|
0.5.2 | Nov 5, 2024 |
#1964 in Web programming
96KB
2K
SLoC
axum-server2
axum-server2 is a hyper server implementation designed to be used with axum framework.
This project is maintained by community independently from axum.
This branch applies a patched version of boringssl
Features
- HTTP/1 and HTTP/2
- HTTPS through rustls、openssl、boringssl.
- High performance through hyper.
- Using tower make service API.
- Very good axum compatibility. Likely to work with future axum releases.
Usage Example
A simple hello world application can be served like:
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_server2::bind(addr)
.serve(app.into_make_service())
.await
.unwrap();
}
You can find more examples here.
Minimum Supported Rust Version
axum-server2's MSRV is 1.49
.
Safety
This crate uses #![forbid(unsafe_code)]
to ensure everything is implemented in 100% safe Rust.
License
This project is licensed under the MIT license.
Accolades
The project is based on a fork of axum-server.
Dependencies
~6–20MB
~311K SLoC