rustapi_core/middleware/
mod.rs

1//! Middleware infrastructure for RustAPI
2//!
3//! This module provides Tower-compatible middleware support for RustAPI applications.
4//! Middleware can be added using the `.layer()` method on `RustApi`.
5//!
6//! # Example
7//!
8//! ```rust,ignore
9//! use rustapi_rs::prelude::*;
10//! use rustapi_core::middleware::RequestIdLayer;
11//!
12//! RustApi::new()
13//!     .layer(RequestIdLayer::new())
14//!     .route("/", get(handler))
15//!     .run("127.0.0.1:8080")
16//!     .await
17//! ```
18
19mod body_limit;
20#[cfg(feature = "compression")]
21mod compression;
22mod layer;
23#[cfg(feature = "metrics")]
24mod metrics;
25mod request_id;
26mod tracing_layer;
27
28pub use body_limit::{BodyLimitLayer, DEFAULT_BODY_LIMIT};
29#[cfg(feature = "compression")]
30pub use compression::{CompressionAlgorithm, CompressionConfig, CompressionLayer};
31pub use layer::{BoxedNext, LayerStack, MiddlewareLayer};
32#[cfg(feature = "metrics")]
33pub use metrics::{MetricsLayer, MetricsResponse};
34pub use request_id::{RequestId, RequestIdLayer};
35pub use tracing_layer::TracingLayer;