// Merge everything into one `Router` let app = Router::new() .merge(with_tracing) .merge(with_compression); # let _: Router = app; ``` # Multiple middleware It's recommended to use [`tower::ServiceBuilder`] when applying multiple middleware. See [`middleware`](crate::middleware) for more details. # Runs after routing Middleware added with this method will run _after_ routing and thus cannot be used to rewrite the request URI. See ["Rewriting request URI in middleware"](crate::middleware#rewriting-request-uri-in-middleware) for more details and a workaround. # Error handling See [`middleware`](crate::middleware) for details on how error handling impacts middleware.