Files
pezkuwi-sdk/pezkuwi/cli/src/error.rs
T
pezkuwichain b6d35f6faf chore: add Dijital Kurdistan Tech Institute to copyright headers
Updated 4763 files with dual copyright:
- Parity Technologies (UK) Ltd.
- Dijital Kurdistan Tech Institute
2025-12-27 21:28:36 +03:00

63 lines
1.9 KiB
Rust

// Copyright (C) Parity Technologies (UK) Ltd. and Dijital Kurdistan Tech Institute
// This file is part of Pezkuwi.
// Pezkuwi is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Pezkuwi is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Pezkuwi. If not, see <http://www.gnu.org/licenses/>.
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error(transparent)]
PezkuwiService(#[from] pezkuwi_service::Error),
#[error(transparent)]
BizinikiwiCli(#[from] pezsc_cli::Error),
#[error(transparent)]
BizinikiwiService(#[from] pezsc_service::Error),
#[error(transparent)]
BizinikiwiTracing(#[from] pezsc_tracing::logging::Error),
#[cfg(not(feature = "pyroscope"))]
#[error("Binary was not compiled with `--feature=pyroscope`")]
PyroscopeNotCompiledIn,
#[cfg(feature = "pyroscope")]
#[error("Failed to connect to pyroscope agent")]
PyroscopeError(#[from] pyroscope::error::PyroscopeError),
#[error("Failed to resolve provided URL")]
AddressResolutionFailure(#[from] std::io::Error),
#[error("URL did not resolve to anything")]
AddressResolutionMissing,
#[error("Command is not implemented")]
CommandNotImplemented,
#[error(transparent)]
Storage(#[from] pezsc_storage_monitor::Error),
#[error("Other: {0}")]
Other(String),
#[error("This subcommand is only available when compiled with `{feature}`")]
FeatureNotEnabled { feature: &'static str },
}
impl From<String> for Error {
fn from(s: String) -> Self {
Self::Other(s)
}
}