26 releases

0.7.2 Mar 14, 2025
0.7.1 Jul 31, 2024
0.6.0 Dec 22, 2023
0.5.1 May 15, 2023
0.3.3 Nov 25, 2021

#11 in Asynchronous

Download history 51911/week @ 2024-12-07 48615/week @ 2024-12-14 23366/week @ 2024-12-21 28428/week @ 2024-12-28 45629/week @ 2025-01-04 51857/week @ 2025-01-11 55051/week @ 2025-01-18 65195/week @ 2025-01-25 88820/week @ 2025-02-01 90749/week @ 2025-02-08 77565/week @ 2025-02-15 78345/week @ 2025-02-22 86878/week @ 2025-03-01 91688/week @ 2025-03-08 109781/week @ 2025-03-15 84136/week @ 2025-03-22

384,901 downloads per month
Used in 139 crates (109 directly)

MIT license

86KB
1.5K SLoC

License Crates.io Docs

axum-server

axum-server is a hyper server implementation designed to be used with axum framework.

This project is maintained by community independently from axum.

Features

  • HTTP/1 and HTTP/2
  • HTTPS through rustls.
  • 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_server::bind(addr)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

You can find more examples here.

Minimum Supported Rust Version

axum-server's MSRV is 1.66.

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.

Dependencies

~7–18MB
~247K SLoC