pub struct JsonRpcError {
pub code: i32,
pub message: String,
pub data: Option<Value>,
}Expand description
JSON-RPC 2.0 error object.
Represents an error that occurred during request processing. Includes standard error codes and optional additional data.
Fields§
§code: i32Numeric error code
message: StringHuman-readable error message
data: Option<Value>Additional error data (optional)
Implementations§
Source§impl JsonRpcError
impl JsonRpcError
Sourcepub fn new(code: i32, message: impl Into<String>, data: Option<Value>) -> Self
pub fn new(code: i32, message: impl Into<String>, data: Option<Value>) -> Self
Create a new JSON-RPC error.
§Examples
use mcp_probe_core::messages::core::JsonRpcError;
use serde_json::json;
let error = JsonRpcError::new(-32000, "Custom error", Some(json!({"details": "More info"})));Sourcepub fn parse_error() -> Self
pub fn parse_error() -> Self
Create a “Parse error” (-32700).
Used when the JSON cannot be parsed.
Sourcepub fn invalid_request(details: impl Into<String>) -> Self
pub fn invalid_request(details: impl Into<String>) -> Self
Create an “Invalid Request” error (-32600).
Used when the request is not a valid JSON-RPC request.
Sourcepub fn method_not_found(method: impl Into<String>) -> Self
pub fn method_not_found(method: impl Into<String>) -> Self
Create a “Method not found” error (-32601).
Used when the requested method doesn’t exist.
Sourcepub fn invalid_params(details: impl Into<String>) -> Self
pub fn invalid_params(details: impl Into<String>) -> Self
Create an “Invalid params” error (-32602).
Used when method parameters are invalid.
Sourcepub fn internal_error(details: impl Into<String>) -> Self
pub fn internal_error(details: impl Into<String>) -> Self
Create an “Internal error” (-32603).
Used for server-side internal errors.
Sourcepub fn application_error(
code: i32,
message: impl Into<String>,
details: impl Into<String>,
) -> Self
pub fn application_error( code: i32, message: impl Into<String>, details: impl Into<String>, ) -> Self
Create a custom application error.
Custom error codes should be in the range -32000 to -32099.
§Examples
use mcp_probe_core::messages::core::JsonRpcError;
let error = JsonRpcError::application_error(
-32000,
"Tool execution failed",
"Tool 'calculator' returned non-zero exit code",
);Sourcepub fn is_standard_error(&self) -> bool
pub fn is_standard_error(&self) -> bool
Check if this is a standard JSON-RPC error (vs application-specific).
Sourcepub fn is_application_error(&self) -> bool
pub fn is_application_error(&self) -> bool
Check if this is an application-specific error.
Trait Implementations§
Source§impl Clone for JsonRpcError
impl Clone for JsonRpcError
Source§fn clone(&self) -> JsonRpcError
fn clone(&self) -> JsonRpcError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for JsonRpcError
impl Debug for JsonRpcError
Source§impl<'de> Deserialize<'de> for JsonRpcError
impl<'de> Deserialize<'de> for JsonRpcError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for JsonRpcError
impl Display for JsonRpcError
Source§impl Error for JsonRpcError
impl Error for JsonRpcError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl PartialEq for JsonRpcError
impl PartialEq for JsonRpcError
Source§impl Serialize for JsonRpcError
impl Serialize for JsonRpcError
impl Eq for JsonRpcError
impl StructuralPartialEq for JsonRpcError
Auto Trait Implementations§
impl Freeze for JsonRpcError
impl RefUnwindSafe for JsonRpcError
impl Send for JsonRpcError
impl Sync for JsonRpcError
impl Unpin for JsonRpcError
impl UnwindSafe for JsonRpcError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.