soth-mitm 0.3.1

Rust intercepting proxy crate with deterministic handler/event contracts for SOTH.
Documentation
use thiserror::Error;

/// Top-level error returned by proxy lifecycle operations.
#[derive(Debug, Error)]
pub enum MitmError {
    #[error("invalid configuration: {0}")]
    InvalidConfig(String),
    #[error("certificate authority load failed: {0}")]
    CaLoadFailed(String),
    #[error("certificate authority operation failed: {0}")]
    CaOperationFailed(String),
    #[error("runtime I/O error: {0}")]
    Io(#[from] std::io::Error),
    #[error("task join error: {0}")]
    Join(#[from] tokio::task::JoinError),
}

/// Error returned by certificate authority operations (generate, load, trust install).
#[derive(Debug, Error)]
pub enum CaError {
    #[error("permission denied while performing {operation}: {detail}")]
    PermissionDenied { operation: String, detail: String },
    #[error("certificate authority operation failed: {0}")]
    OperationFailed(String),
    #[error("invalid certificate authority material: {0}")]
    InvalidMaterial(String),
    #[error("unsupported operation: {0}")]
    UnsupportedOperation(String),
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),
}