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}