cratestack_client_rust/
error.rs1use cratestack_core::{CoolError, CoolErrorResponse};
2use reqwest::StatusCode;
3
4pub type HeaderPair<'a> = (&'a str, &'a str);
5pub type QueryPair<'a> = (&'a str, &'a str);
6
7#[derive(Debug, thiserror::Error)]
8pub enum ClientError {
9 #[error("transport error: {0}")]
10 Transport(#[from] reqwest::Error),
11 #[error("codec error: {0}")]
12 Codec(#[from] CoolError),
13 #[error("state error: {0}")]
14 State(String),
15 #[error("invalid response: {0}")]
16 InvalidResponse(String),
17 #[error("bad input: {0}")]
18 BadInput(String),
19 #[error("remote call failed with status {status}: {message}")]
20 Remote {
21 status: StatusCode,
22 error: Option<CoolErrorResponse>,
23 message: String,
24 },
25}