1use super::CyperError;
4use http::StatusCode;
5use thiserror::Error;
6
7#[derive(Debug, Error)]
9pub enum EmbedError {
10 #[error("Failed to prepare request: {0}")]
13 RequestPreparation(CyperError),
14 #[error("Failed to serialize request body: {0}")]
16 RequestSerialization(CyperError),
17 #[error("Failed to send request: {0}")]
19 RequestSend(CyperError),
20 #[error("Failed to parse response body: {0}")]
22 ResponseParse(CyperError),
23 #[error("Failed to decode base64 embedding: {0}")]
25 Base64Decode(#[from] base64::DecodeError),
26
27 #[error("Invalid API key: {0}")]
30 InvalidApiKey(String),
31 #[error("Rate limit exceeded: {0}")]
33 RateLimitExceeded(String),
34 #[error("Unknown API error: {code}: {message}")]
36 UnknownApiError {
37 code: StatusCode,
39 message: String,
41 }
42}