Files
axum/examples/hello_world.rs
T

31 lines
838 B
Rust
Raw Normal View History

2021-07-09 21:36:14 +02:00
use axum::prelude::*;
use std::{convert::Infallible, net::SocketAddr, time::Duration};
use tower::{limit::RateLimitLayer, BoxError, ServiceBuilder};
2021-05-31 10:20:07 +02:00
#[tokio::main]
async fn main() {
let handler_layer = ServiceBuilder::new()
.buffer(1024)
.layer(RateLimitLayer::new(10, Duration::from_secs(10)))
.into_inner();
let app = route(
"/",
get(handler
.layer(handler_layer)
.handle_error(|error: BoxError| {
Ok::<_, Infallible>(format!("Unhandled error: {}", error))
})),
);
2021-05-31 10:20:07 +02:00
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
axum::Server::bind(&addr)
2021-06-19 12:50:33 +02:00
.serve(app.into_make_service())
.await
.unwrap();
2021-05-31 10:20:07 +02:00
}
2021-06-09 09:03:09 +02:00
async fn handler() -> response::Html<&'static str> {
2021-06-04 01:00:48 +02:00
response::Html("<h1>Hello, World!</h1>")
2021-05-31 10:20:07 +02:00
}