Skip to main content

trace_moe/
error.rs

1use std::result;
2
3use reqwest::StatusCode;
4use thiserror::Error;
5
6pub type Result<T> = result::Result<T, ApiError>;
7
8#[derive(Debug, Error)]
9pub enum ApiError {
10    #[error("network error: {0}")]
11    Network(#[from] reqwest::Error),
12
13    #[error("invalid url: {0}")]
14    Url(#[from] url::ParseError),
15
16    #[error("invalid header value: {0}")]
17    InvalidHeader(#[from] reqwest::header::InvalidHeaderValue),
18
19    #[error("serialization error: {0}")]
20    Serde(#[from] serde_json::Error),
21
22    #[error("http {status}: {body}")]
23    Http { status: StatusCode, body: String },
24}