#http #https #web #server

axum-server

High level server designed to be used with axum framework

20 releases

new 0.4.7 Mar 19, 2023
0.4.4 Nov 7, 2022
0.4.1 Jul 29, 2022
0.3.3 Nov 25, 2021

#36 in Web programming

Download history 11781/week @ 2022-11-29 13182/week @ 2022-12-06 16724/week @ 2022-12-13 9913/week @ 2022-12-20 5386/week @ 2022-12-27 12322/week @ 2023-01-03 14405/week @ 2023-01-10 15296/week @ 2023-01-17 18583/week @ 2023-01-24 23507/week @ 2023-01-31 21795/week @ 2023-02-07 23476/week @ 2023-02-14 22834/week @ 2023-02-21 19509/week @ 2023-02-28 24562/week @ 2023-03-07 21882/week @ 2023-03-14

90,926 downloads per month
Used in 16 crates (15 directly)

MIT license

78KB
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.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.

Dependencies

~6–14MB
~254K SLoC