bitwarden_ipc/rpc/
error.rs1use serde::{Deserialize, Serialize};
2use thiserror::Error;
3
4use crate::serde_utils;
5
6#[derive(Debug, Error, Clone, Serialize, Deserialize, PartialEq, Eq)]
7pub enum RpcError {
8 #[error("Failed to read request: {0}")]
9 RequestDeserializationError(String),
10
11 #[error("Failed to serialize request: {0}")]
12 RequestSerializationError(String),
13
14 #[error("Failed to read response: {0}")]
15 ResponseDeserializationError(String),
16
17 #[error("Failed to serialize response: {0}")]
18 ResponseSerializationError(String),
19
20 #[error("Request could not be completed because no handler has been registered for")]
21 NoHandlerFound,
22}
23
24impl RpcError {
25 pub(crate) fn to_vec(&self) -> Vec<u8> {
26 serde_utils::to_vec(&self).expect("Serializing RpcError should not fail")
27 }
28}