pub struct McpAuthMiddleware { /* private fields */ }
Expand description
MCP Authentication Middleware
Implementations§
Source§impl McpAuthMiddleware
impl McpAuthMiddleware
Sourcepub fn new(
auth_manager: Arc<AuthenticationManager>,
config: McpAuthConfig,
) -> Self
pub fn new( auth_manager: Arc<AuthenticationManager>, config: McpAuthConfig, ) -> Self
Create a new MCP authentication middleware
Sourcepub fn with_security_validator(
auth_manager: Arc<AuthenticationManager>,
config: McpAuthConfig,
security_validator: Arc<RequestSecurityValidator>,
) -> Self
pub fn with_security_validator( auth_manager: Arc<AuthenticationManager>, config: McpAuthConfig, security_validator: Arc<RequestSecurityValidator>, ) -> Self
Create with custom security validator
Sourcepub fn with_default_config(auth_manager: Arc<AuthenticationManager>) -> Self
pub fn with_default_config(auth_manager: Arc<AuthenticationManager>) -> Self
Create middleware with default configuration
Sourcepub fn security_validator(&self) -> &RequestSecurityValidator
pub fn security_validator(&self) -> &RequestSecurityValidator
Get access to the security validator for monitoring violations
Sourcepub async fn process_request(
&self,
request: Request,
headers: Option<&HashMap<String, String>>,
) -> Result<(Request, McpRequestContext), McpError>
pub async fn process_request( &self, request: Request, headers: Option<&HashMap<String, String>>, ) -> Result<(Request, McpRequestContext), McpError>
Process an incoming MCP request
Sourcepub async fn process_response(
&self,
response: Response,
_context: &McpRequestContext,
) -> Result<Response, McpError>
pub async fn process_response( &self, response: Response, _context: &McpRequestContext, ) -> Result<Response, McpError>
Process an outgoing MCP response
Trait Implementations§
Source§impl McpMiddleware for McpAuthMiddleware
impl McpMiddleware for McpAuthMiddleware
Source§fn process_request<'life0, 'life1, 'async_trait>(
&'life0 self,
request: Request,
_context: &'life1 McpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Request, McpError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn process_request<'life0, 'life1, 'async_trait>(
&'life0 self,
request: Request,
_context: &'life1 McpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Request, McpError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Process an incoming request
Source§fn process_response<'life0, 'life1, 'async_trait>(
&'life0 self,
response: Response,
context: &'life1 McpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Response, McpError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn process_response<'life0, 'life1, 'async_trait>(
&'life0 self,
response: Response,
context: &'life1 McpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Response, McpError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Process an outgoing response
Auto Trait Implementations§
impl Freeze for McpAuthMiddleware
impl !RefUnwindSafe for McpAuthMiddleware
impl Send for McpAuthMiddleware
impl Sync for McpAuthMiddleware
impl Unpin for McpAuthMiddleware
impl !UnwindSafe for McpAuthMiddleware
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more