Skip to main content

codex_convert_proxy/
error.rs

1//! Error types for the library.
2
3use thiserror::Error;
4
5/// Error types for conversion operations.
6#[derive(Error, Debug)]
7pub enum ConversionError {
8    #[error("Missing required field: {0}")]
9    MissingField(String),
10
11    #[error("Invalid input format: {0}")]
12    InvalidFormat(String),
13
14    #[error("Provider error: {0}")]
15    ProviderError(String),
16
17    #[error("JSON error: {0}")]
18    JsonError(#[from] serde_json::Error),
19}
20
21/// Error types for proxy operations.
22#[derive(Error, Debug)]
23pub enum ProxyError {
24    #[error("Connection error: {0}")]
25    ConnectionError(String),
26
27    #[error("Upstream error: {0}")]
28    UpstreamError(String),
29
30    #[error("Request error: {0}")]
31    RequestError(String),
32
33    #[error("Response error: {0}")]
34    ResponseError(String),
35
36    #[error("Conversion error: {0}")]
37    ConversionError(#[from] ConversionError),
38}