mcp_auth_middleware

Function mcp_auth_middleware 

Source
pub async fn mcp_auth_middleware(
    middleware: SecurityMiddleware,
) -> impl Fn(Request, Next) -> Pin<Box<dyn Future<Output = Result<Response, StatusCode>> + Send>> + Clone
Expand description

Main MCP authentication middleware function for use with Axum

This is the primary entry point for integrating MCP security into an Axum application.

ยงExample

use axum::{Router, routing::get, middleware::from_fn};
use pulseengine_mcp_security_middleware::*;

#[tokio::main]
async fn main() {
    let security_config = SecurityConfig::development();
    let middleware = security_config.create_middleware().await.unwrap();

    let app: Router = Router::new()
        .route("/", get(|| async { "Hello, secure world!" }))
        .layer(from_fn(move |req, next| {
            let middleware = middleware.clone();
            async move { middleware.process(req, next).await }
        }));

    // Start server...
}