1use thiserror::Error;
2
3#[derive(Debug, Error)]
5pub enum MitmError {
6 #[error("invalid configuration: {0}")]
7 InvalidConfig(String),
8 #[error("certificate authority load failed: {0}")]
9 CaLoadFailed(String),
10 #[error("certificate authority operation failed: {0}")]
11 CaOperationFailed(String),
12 #[error("runtime I/O error: {0}")]
13 Io(#[from] std::io::Error),
14 #[error("task join error: {0}")]
15 Join(#[from] tokio::task::JoinError),
16}
17
18#[derive(Debug, Error)]
20pub enum CaError {
21 #[error("permission denied while performing {operation}: {detail}")]
22 PermissionDenied { operation: String, detail: String },
23 #[error("certificate authority operation failed: {0}")]
24 OperationFailed(String),
25 #[error("invalid certificate authority material: {0}")]
26 InvalidMaterial(String),
27 #[error("unsupported operation: {0}")]
28 UnsupportedOperation(String),
29 #[error("I/O error: {0}")]
30 Io(#[from] std::io::Error),
31}