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("Unsupported feature: {0}")]
15    UnsupportedFeature(String),
16
17    #[error("Provider error: {0}")]
18    ProviderError(String),
19
20    #[error("SSE parsing error: {0}")]
21    SseParseError(String),
22
23    #[error("Streaming error: {0}")]
24    StreamingError(String),
25
26    #[error("JSON error: {0}")]
27    JsonError(#[from] serde_json::Error),
28}
29
30/// Error types for proxy operations.
31#[derive(Error, Debug)]
32pub enum ProxyError {
33    #[error("Connection error: {0}")]
34    ConnectionError(String),
35
36    #[error("Upstream error: {0}")]
37    UpstreamError(String),
38
39    #[error("Request error: {0}")]
40    RequestError(String),
41
42    #[error("Response error: {0}")]
43    ResponseError(String),
44
45    #[error("Conversion error: {0}")]
46    ConversionError(#[from] ConversionError),
47}