#[non_exhaustive]pub enum Error {
Config(String),
InvalidRequest(String),
Api(Box<ApiError>),
Connection(Box<dyn Error + Send + Sync + 'static>),
Timeout(Duration),
ResponseValidation(Box<ResponseValidationError>),
ReplayMiss {
key: String,
path: PathBuf,
},
}Expand description
Any failure produced by the SDK.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Config(String)
The client could not be configured (missing API key, invalid base URL, invalid timeout, invalid retry policy).
InvalidRequest(String)
The request was rejected locally before being sent (no questions, empty choice or score criteria, malformed raw question, or a body that cannot be encoded as JSON).
Api(Box<ApiError>)
The server returned an unsuccessful HTTP status after any retries.
Connection(Box<dyn Error + Send + Sync + 'static>)
The request could not reach the server or the response could not be read (DNS, connect,
TLS, reset, body read). The underlying HTTP client’s error is available via source().
Timeout(Duration)
The request exceeded its configured timeout.
ResponseValidation(Box<ResponseValidationError>)
The server returned a successful status but the body is missing required data.
ReplayMiss
The client is replaying and this request was never recorded. Nothing was sent: a replaying
client does not fall back to the network. Record it first (TYPESAFE_RECORD=<dir>); see
crate::cassette.
Implementations§
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()