1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum EmbedError {
5 #[error("missing API key for {provider}")]
6 MissingKey { provider: &'static str },
7
8 #[error("HTTP error from {provider}: {source}")]
9 Http {
10 provider: &'static str,
11 #[source]
12 source: reqwest::Error,
13 },
14
15 #[error("API error from {provider}: {message}")]
16 Api {
17 provider: &'static str,
18 message: String,
19 },
20
21 #[error("rate limited by {provider}")]
22 RateLimited { provider: &'static str },
23
24 #[error("invalid response from {provider}: {message}")]
25 InvalidResponse {
26 provider: &'static str,
27 message: String,
28 },
29}