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}