Skip to main content

greentic_distributor_client/
error.rs

1use std::io;
2
3#[cfg(feature = "http-runtime")]
4use reqwest::StatusCode;
5use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum DistributorError {
9    #[error("io error: {0}")]
10    Io(#[from] io::Error),
11    #[cfg(feature = "http-runtime")]
12    #[error("http error: {0}")]
13    Http(#[from] reqwest::Error),
14    #[error("wit error: {0}")]
15    Wit(String),
16    #[error("invalid response: {0}")]
17    InvalidResponse(String),
18    #[error("resource not found")]
19    NotFound,
20    #[error("permission denied")]
21    PermissionDenied,
22    #[cfg(feature = "http-runtime")]
23    #[error("unexpected status {status}: {body}")]
24    Status { status: StatusCode, body: String },
25    #[error("serialization error: {0}")]
26    Serde(#[from] serde_json::Error),
27    #[error("other distributor error: {0}")]
28    Other(String),
29}