Skip to main content

nifi_rust_client/
error.rs

1use snafu::Snafu;
2
3#[derive(Debug, Snafu)]
4#[snafu(visibility(pub(crate)))]
5pub enum NifiError {
6    #[snafu(display("HTTP request failed: {source}"))]
7    Http { source: reqwest::Error },
8
9    #[snafu(display("Failed to parse NiFi base URL: {source}"))]
10    InvalidBaseUrl { source: url::ParseError },
11
12    #[snafu(display("Authentication failed: {message}"))]
13    Auth { message: String },
14
15    #[snafu(display("Invalid CA certificate: {source}"))]
16    InvalidCertificate { source: reqwest::Error },
17
18    #[snafu(display("NiFi API error (status {status}): {message}"))]
19    Api { status: u16, message: String },
20
21    #[snafu(display("NiFi version {detected} is not supported by this client build"))]
22    UnsupportedVersion { detected: String },
23
24    #[snafu(display("Endpoint {endpoint} is not available in NiFi {version}"))]
25    UnsupportedEndpoint { endpoint: String, version: String },
26}