pulseengine_mcp_security/
validation.rs

1//! Request validation utilities
2
3use pulseengine_mcp_protocol::{Error, Request};
4
5/// Request validator
6pub struct RequestValidator;
7
8impl RequestValidator {
9    /// Validate an MCP request
10    ///
11    /// # Errors
12    ///
13    /// Returns an error if the request has invalid JSON-RPC version or empty method
14    pub fn validate_request(request: &Request) -> Result<(), Error> {
15        // Basic validation
16        if request.jsonrpc != "2.0" {
17            return Err(Error::invalid_request("Invalid JSON-RPC version"));
18        }
19
20        if request.method.is_empty() {
21            return Err(Error::invalid_request("Method cannot be empty"));
22        }
23
24        Ok(())
25    }
26}