Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 870 Bytes

layer.md

File metadata and controls

29 lines (22 loc) · 870 Bytes

Apply a [tower::Layer] to all routes in the router.

This can be used to add additional processing to a request for a group of routes.

Note that the middleware is only applied to existing routes. So you have to first add your routes (and / or fallback) and then call layer afterwards. Additional routes added after layer is called will not have the middleware added.

Works similarly to Router::layer. See that method for more details.

Example

use axum::{routing::get, Router};
use tower::limit::ConcurrencyLimitLayer;

async fn hander() {}

let app = Router::new().route(
    "/",
    // All requests to `GET /` will be sent through `ConcurrencyLimitLayer`
    get(hander).layer(ConcurrencyLimitLayer::new(64)),
);
# async {
# axum::Server::bind(&"".parse().unwrap()).serve(app.into_make_service()).await.unwrap();
# };