Module http_middleware

Module http_middleware 

Source
Available on non-WebAssembly only.
Expand description

Server-side HTTP middleware for request/response interception.

This module provides HTTP-level middleware for MCP servers, enabling:

  • Request/response logging with sensitive data redaction
  • Authentication and authorization
  • Rate limiting and throttling
  • Custom request/response transformation

§Architecture

Server HTTP middleware operates at the HTTP transport layer (before JSON-RPC processing), providing symmetry with client-side HTTP middleware.

Two-layer model:

  • HTTP Layer: ServerHttpMiddleware for transport-level concerns
  • Protocol Layer: EnhancedMiddleware for JSON-RPC message processing

§Examples

use pmcp::server::http_middleware::{ServerHttpMiddleware, ServerHttpLoggingMiddleware};
use pmcp::server::http_middleware::ServerHttpMiddlewareChain;
use std::sync::Arc;

// Create logging middleware with redaction
let logging = ServerHttpLoggingMiddleware::new()
    .with_redact_query(true)
    .with_max_body_bytes(1024);

// Build middleware chain
let mut chain = ServerHttpMiddlewareChain::new();
chain.add(Arc::new(logging));

Modules§

adaptersstreamable-http
Framework adapters for converting between middleware types and framework types.

Structs§

ServerHttpContext
Context for server HTTP middleware processing.
ServerHttpLoggingMiddleware
Server HTTP logging middleware with sensitive data redaction.
ServerHttpMiddlewareChain
Chain of server HTTP middleware handlers.
ServerHttpRequest
HTTP request for server middleware processing.
ServerHttpResponse
HTTP response for server middleware processing.

Traits§

ServerHttpMiddleware
Server-side HTTP middleware trait.