Skip to main content

k2db_api_client/
error.rs

1// SPDX-FileCopyrightText: 2026 Alexander R. Croft
2// SPDX-License-Identifier: GPL-3.0-only
3
4use k2db_api_contract::ProblemDetailsPayload;
5use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum K2DbApiClientError {
9    #[error("request failed: {0}")]
10    Http(#[from] reqwest::Error),
11    #[error("transport error: {0}")]
12    Transport(String),
13    #[error("server returned problem response")]
14    Problem(ProblemDetailsPayload),
15    #[error("invalid client configuration: {0}")]
16    Configuration(String),
17    #[error("serialization error: {0}")]
18    Serialization(String),
19}