vaultier 0.4.1

Crate to write and read secrets from Hashicorp Vault.
Documentation
use std::fmt::Debug;
use std::io;

use thiserror::Error;

pub type Result<T> = std::result::Result<T, VaultierError>;

#[derive(Error, Debug)]
pub enum VaultierError {
    #[error("Vault client error: {0}")]
    VaultClient(#[from] vaultrs::error::ClientError),
    #[error("Vault client settings error: {0}")]
    VaultClientSettings(#[from] vaultrs::client::VaultClientSettingsBuilderError),
    #[error("IO error: {0}")]
    IO(#[from] io::Error),
    #[error("Path not found: {0}")]
    PathNotFound(String),
    #[cfg(feature = "metadata")]
    #[error("Unexpected response from the Vault API: {status}. Message: {message}.")]
    Api {
        status: reqwest::StatusCode,
        message: String,
    },
    #[cfg(feature = "metadata")]
    #[error("Failed to send request: {0}")]
    Reqwest(#[from] reqwest::Error),
    #[cfg(feature = "metadata")]
    #[error("Json related error: {0}")]
    Json(#[from] serde_json::Error),
    #[cfg(feature = "metadata")]
    #[error("Failed to parse URL: {0}")]
    Url(#[from] url::ParseError),
}