Available on crate feature
tower-compat only.Expand description
Adapters for tower::Layer and
tower::Service.
§Example
use salvo_core::prelude::*;
use salvo_extra::tower_compat::*;
use tokio::time::Duration;
use tower::limit::RateLimitLayer;
#[handler]
async fn hello() -> &'static str {
"Hello World"
}
#[tokio::main]
async fn main() {
let limit = RateLimitLayer::new(5, Duration::from_secs(30)).compat();
let acceptor = TcpListener::new("0.0.0.0:8698").bind().await;
let router = Router::new().hoop(limit).get(hello);
Server::new(acceptor).serve(router).await;
}Structs§
- Tower
Layer Handler - Tower service compat handler.
- Tower
Service Handler - Tower service compat handler.
Traits§
- Tower
Layer Compat - Trait for tower layer compat.
- Tower
Service Compat - Trait for tower service compat.