#web-server #server #hyper-server #web #https #http #high-level

hyper-serve

High level server designed to be used with axum framework

1 unstable release

0.6.2 Jul 17, 2024

#1203 in Web programming

Download history 77/week @ 2024-07-11 70/week @ 2024-07-18 252/week @ 2024-07-25 130/week @ 2024-08-01 179/week @ 2024-08-08 100/week @ 2024-08-15 90/week @ 2024-08-22 86/week @ 2024-08-29 72/week @ 2024-09-05 73/week @ 2024-09-12 57/week @ 2024-09-19 58/week @ 2024-09-26 43/week @ 2024-10-03

243 downloads per month
Used in 3 crates

MIT license

92KB
2K SLoC

Crates.io Docs

hyper-serve

hyper-serve is a fork of the axum-server project. It is a hyper server implementation designed to be used with the axum framework. This fork aims to continue the development and maintenance of the original project, ensuring compatibility with future axum releases and providing high performance and security features.

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);
    hyper_serve::bind(addr)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

You can find more examples here.

Minimum Supported Rust Version

hyper-serve's MSRV is 1.63.

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
~253K SLoC