#http #https #web #server

axum-server

High level server designed to be used with axum framework

13 releases (4 breaking)

0.4.0 Apr 18, 2022
0.3.3 Nov 25, 2021
0.2.6 Nov 3, 2021
0.2.5 Oct 5, 2021
0.0.0 Aug 20, 2021

#96 in Network programming

Download history 643/week @ 2022-01-31 703/week @ 2022-02-07 819/week @ 2022-02-14 1016/week @ 2022-02-21 1322/week @ 2022-02-28 1387/week @ 2022-03-07 1542/week @ 2022-03-14 1461/week @ 2022-03-21 1786/week @ 2022-03-28 2187/week @ 2022-04-04 1502/week @ 2022-04-11 1684/week @ 2022-04-18 1668/week @ 2022-04-25 1673/week @ 2022-05-02 1891/week @ 2022-05-09 1863/week @ 2022-05-16

7,281 downloads per month
Used in less than 8 crates

MIT license

56KB
1K SLoC

License Crates.io Docs - Master Docs - Stable

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–15MB
~268K SLoC