#[derive(Debug)]
pub enum InferenceClientError {
Request(String),
Api(String),
Serialization(String),
Config(String),
Unsupported(String),
}
impl std::fmt::Display for InferenceClientError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
InferenceClientError::Request(s) => write!(f, "Request Error: {s}"),
InferenceClientError::Api(s) => write!(f, "API Error: {s}"),
InferenceClientError::Serialization(s) => write!(f, "Serialization Error: {s}"),
InferenceClientError::Config(s) => write!(f, "Config Error: {s}"),
InferenceClientError::Unsupported(s) => write!(f, "Unsupported: {s}"),
}
}
}
impl std::error::Error for InferenceClientError {}
impl From<reqwest::Error> for InferenceClientError {
fn from(err: reqwest::Error) -> Self {
InferenceClientError::Request(err.to_string())
}
}