diff options
author | hozan23 <hozan23@karyontech.net> | 2024-05-19 22:18:06 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-05-19 22:18:06 +0200 |
commit | 1c520b20f70ddbdab885ec6c4bf5c87893a26eb4 (patch) | |
tree | 0e51b047e1df0b29fecdc5c39b200d5ecca520ef /jsonrpc/src/error.rs | |
parent | 41ceed49285b4082477a83d7dda02fbfb3f96b2a (diff) |
jsonrpc: remove jsonrpc_internal crate
Diffstat (limited to 'jsonrpc/src/error.rs')
-rw-r--r-- | jsonrpc/src/error.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/jsonrpc/src/error.rs b/jsonrpc/src/error.rs new file mode 100644 index 0000000..7f89729 --- /dev/null +++ b/jsonrpc/src/error.rs @@ -0,0 +1,40 @@ +use thiserror::Error as ThisError; + +pub type Result<T> = std::result::Result<T, Error>; + +/// Represents karyon's jsonrpc Error. +#[derive(ThisError, Debug)] +pub enum Error { + #[error(transparent)] + IO(#[from] std::io::Error), + + #[error("Call Error: code: {0} msg: {1}")] + CallError(i32, String), + + #[error("RPC Method Error: code: {0} msg: {1}")] + RPCMethodError(i32, &'static str), + + #[error("Invalid Params: {0}")] + InvalidParams(&'static str), + + #[error("Invalid Request: {0}")] + InvalidRequest(&'static str), + + #[error(transparent)] + ParseJSON(#[from] serde_json::Error), + + #[error("Invalid Message Error: {0}")] + InvalidMsg(&'static str), + + #[error("Unsupported protocol: {0}")] + UnsupportedProtocol(String), + + #[error("Unexpected Error: {0}")] + General(&'static str), + + #[error(transparent)] + KaryonCore(#[from] karyon_core::error::Error), + + #[error(transparent)] + KaryonNet(#[from] karyon_net::Error), +} |